My Project Management Expert

Definition Object Oriented Programming

Definition object oriented programming is critical to understanding, what is object oriented programming? This is popularly known as OOP and is a language centered on objects and following the four basic principles of Abstraction, Encapsulation, Inheritance and Polymorphism.

Many programmers who have worked only in functional/ procedural languages such as C and Pascal often have difficulty in understanding just what is object oriented programming. It is often referred to as a programming paradigm based on objects and their interactions. As such if you are utilizing java you need to not only understand the definition of OOP but also what is Java?.

1.0 What is Object Oriented Programming? - Examples

Since C++ and Java have procedural elements as well as an OOP element, a question often arises if they qualify as per the definition object oriented programming language. The answer is ‘Yes’, although they are a mix and match of procedural language + object orientation they pass all the parameters of OOP.

Many developers believe that using this definition object oriented programming is restricted to imperative programming, which is not the case. PHP is a great example of a language that had a procedural origin but then converted to object orientation to gain maximum benefits from OOP.

2.0 Definition Objected Oriented Programming – Classes & Objects

A good understanding of Classes and Objects is essential to understand just what is object oriented programming. Classes and objects are used heavily to structure the program. The crux behind the definition object oriented programming is a collection of objects, which are instances of classes. Objects are accessible to the programmer via an interface and they can send/ receive messages to other objects. The behavior of these objects is defined by it’s methods.

2.1 Tip

Objects are logical entities and often map to real world entities. For example, a vehicle may be considered as a class and a truck would be an object of that class.

3.0 Dispute Over What is Objected Oriented Programming?

Many programmers believe that there is a valid dispute over what is object oriented programming. Some believe that it must be termed object based programming and the principle of inheritance should be excluded from the founding principles of such languages.

Most popular OO languages such as C++ and Java support inheritance so the dispute over whether they are OOP languages does not seem appropriate for these languages at the very least.

Programmers often say that Java does not support multiple inheritance directly, therefore does it still justify the definition Object Oriented Programming? Yes, it does because it offers multiple inheritance using the concept of interfaces.

4.0 Abstraction, Encapsulation, Inheritance & Polymorphism

As I mentioned earlier, the 4 basic principles that constitute the definition Object Oriented Programming are Abstraction, Encapsulation, Inheritance and Polymorphism. These can be explained as follows:

4.1 Abstraction

This refers to simplification of the complexity of the problem using a class modeling approach. The basic principle behind abstraction is to hide the complex details and keep things simple – an integral part of understanding what is object oriented programming.

4.2 Encapsulation

This refers to providing selective information access to classes. A class only gets to know what it needs to know in order to interact with other classes, everything else is kept private.

4.3 Inheritance

This is the ability to inherit from a class. It helps reuse code by placing the common details in parent classes and leaving the uncommon details as part of child classes.

4.4 Polymorphism

This is an integral part of the definition object oriented programming allows different objects to have different implementations for same methods.

Definition Object Oriented Programming - Tip

Irrespective of whichever OO programming language you are planning to learn or which is being developed in whilst you are managing IT projects these principles which lay the foundation for definition object oriented programming will stand you in good stead as they relate to all such languages.

As a further guide you should read and the process of software development and also software requirements specification.

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

Name

Then

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
Email

Name

Then

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 My-Project-Management-Expert.com
All other content is in the public domain or is copyright by the credited author.