My Project Management Expert

Object Oriented Programming Concepts

It is vital to understand object oriented programming concepts since OOPS is now an extremely popular programming paradigm. Hence one must understand the object oriented concepts before planning to learn languages such as C++ and Java or when managing IT projects which utilize them.

Encapsulation, Abstraction, Polymorphism and Inheritance constitute the most important concepts of object oriented programming.

1.0 Historical Perspective of OOPS

Simula is considered to be the first language that successfully demonstrated the working of Object Oriented Programming Concepts. It was followed by Smalltalk which was reasonably successful as an object oriented language and is considered to be amongst the purest object oriented languages.

Meanwhile whilst C++ and Java implement object oriented programming concepts, they cannot be considered pure Object Oriented languages as they have some procedural elements in addition to OO features. PHP, another popular programming language for the web, is a classic example of a traditionally procedural language which was extended to get maximum benefits from definition of Object Oriented programming.

2.0 Objected Oriented Concepts – Classes, Objects and Methods

In order to have a good understanding of the concepts of Object Oriented programming, it is important that you know what classes, objects and methods are.

A class is a logical entity which contains methods. It defines the behavior as well as state of a real world object.

An object is an instance of a class and is the most granular unit amongst all Object Oriented programming concepts.

Methods are the functions that define the behavior of a class and an object.

2.1 Tip

Although each OOPS language has its own syntax and semantics to represent the object oriented programming concepts, the concepts of class, object and method is universal to all languages.

3.0 Concepts of Objected Oriented Programming – What is Inheritance?

As the name itself suggests, inheritance is the ability to inherit from a class. It is a powerful mechanism for organizing classes in order to promote cod re-usability, which is probably amongst the least well known of all concepts of Object Oriented Programming.

3.1 Tip

Inheritance is mostly used to denote ‘is a’ kind of relationships between classes and is similar to a parent child relationship. The inheriting class is the child while the class from which it inherits is the parent.

4.0 Objected Oriented Programming Concepts – What is Abstraction?

Abstraction is yet another important member of the Object Oriented Programming Concepts family. It means simplifying the complexity of the problem by modeling classes which are appropriate to the problem and promote code reuse by following the principle of inheritance.

4.1 Tip

A car has an engine, a steering wheel, gearbox and tyres. To build a car, you do not need to know the internal workings of each of these components as long as you know their role in the overall working of the car. That’s abstraction for you – leaving out the unnecessary details.

5.0 Objected Oriented Concepts – What is Encapsulation?

In my opinion, Encapsulation is probably the easiest to understand, yet most commonly misunderstood of all Object Oriented Programming Concepts. It means hiding the functional details of a class from objects that interact with the class.

Encapsulation helps isolate clients of an interface from being dependent on parts which may change in future.

5.1 Tip

Many languages use specific keywords to define encapsulation levels, the most common ones are public, protected and private. Java uses an additional default level to specify package level access control.

6.0 Object Oriented Programming Concepts – What is Polymorphism?

Polymorphism, another integral part of understanding Object Oriented Programming Concepts, allows a developer to treat derived class members just like the base class members. It allows objects of different types to have different behaviors for methods having the same name.

6.1 Tip

Many OOPS books and tutorials refer ‘Function Overloading’ and ‘Operator Overloading’ as important Object Oriented Programming Concepts. Both these overloading techniques are an example of Polymorphism.

Object Oriented Programming Concepts - Tip

Remember if you don't have a good understanding of the concepts of object oriented programming you will quickly find yourself as a project manager completely bamboozled by your software development lead during the process of software development.

This is not a good position to be in when this results in the software application testing going horribly wrong and leaving you in a quandary of what to communicate in your weekly project management report!

Sign Up for Our Free
The Fast Track to Project Success eZine
and get The mPME Top 10 Tips
of Successful Project Management Ebook!

The Top 10 Tips of Successful Project Management Ebook Email



Don't worry -- your e-mail address is totally secure.
We promise to use it only to send you The Fast Track to Project Success.

follow MyPMExpert on Twitter

Sign Up for Our Free
The Fast Track to Project Success Ezine
and get Our
Top 10 Tips of
Successful Project Management Ebook!

The Top 10 Tips of Successful Project Management Ebook



Don't worry -- your e-mail address is totally secure.
We promise to use it only to send you The Fast Track to Project Success.

Site News

Please check out our new Project Management Methodologies section. It has loads of great info on concepts such as the PMMM and Critical Path.

Spare 2 Mins & Win an iPod Shuffle

We're running a survey to enable us to better focus our site and products. Please spare 2 minutes to answer our 6 questions and we'll enter you into a draw to win an iPod Shuffle. This way you help us to better help you. Go on, you know it makes sense!

Click here for the Survey.

Original Content Copyright © 2009
All other content is in the public domain or is copyright by the credited author.