Abstraction of Abstraction
Fundamental to the concept of object orientation is the idea of class. A class is an abstract blueprint of a group of objects that share the same characteristics. In the object oriented programming world, developers define classes as tools that are used to create objects. Classes describe objects by defining their properties and abilities. It’s important to differentiate between classes and objects. Objects are examples and members of a given class. Objects have the characteristics of a given class, but are not a class themselves. A class is not an object, but a collection of characteristics that make up an object.
Unified view of Objects as Actors
Here’s an example using a few comic book heroes to illustrate. We could create a KryptonSuperHero class. The properties of that class might be the ability to bend steel, be faster than a speeding bullet and be able to leap tall buildings. The members of the class might have properties like Xray vision, flying and immunity to bullets. They would all share the “Woosh!” sound effect and be poisoned by Kryptonite. Objects of the KryptonSuperHero class would be Superman, Superboy and Supergirl etc.
Then there could be a GothamSuperhero class (clearly not as powerful). Members of this class would have strong athletic and gymnastic abilities and the strength to create technical gadgets to assist them in fighting crime. They might share properties like secret identities , possession of a specialized signal and a vehicle for fighting crime and of course characteristic sound effects of “Biff” and “Bam”.
Understanding Abstract Process
Members of both of these classes have the same abstract processes. They receive information of wrongdoing through their secret identities, then quickly change into their costumes and foil the bad guys and finally change back into their cover personas as their crime-fighting alter egos receive the credit. This is elemental to the concept of the functional process. We look the outcome of the process and not the operational details. The best object oriented programming conceals the operations of the processes (methods) from the rest of the program. Good oop (object oriented programming) practice requires methods that should be constructed like a black box where the contents are concealed from the rest of the program. The method or process is provided inputs by the parameters that are made available to them. The process uses these parameters to create an output that is expected by the calling process.
Article: Object Oriented Programming
- This link provides information on history of object oriented programming.
Book: The Essence of Object-Oriented Programming with Java and UML
- This book provides an insight to Object Oriented Programming.
Educational Material on Object Oriented Pragramming.
- This link provides comprehensive information on Object Oriented Programming