Object Oriented Programming ConceptsIt 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 OOPSSimula 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 MethodsIn 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 TipAlthough 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 TipInheritance 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 TipA 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. Thats 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 TipMany 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 TipMany 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 - TipRemember 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
Sign Up for Our Free
Return to top | Home |
Project Management Basics | Project Management Life Cycle | Project Management Documents |
Writing a Project Initiation Document (PID) | Project Management Report | Project Management Plans | Project Risk Management
| Project Management Scope | Project Costs and Budget | Project Resource Management |
Project Communications | Project Software Development | Sitemap | Contact Us |
Original Content Copyright © 2009 My-Project-Management-Expert.com
All other content is in the public domain or is copyright by the credited author.