One of the fundamental principles of Object Orientation, encapsulation, has a very similar conceptual basis to modularization. Good modular design was an enabler of quality testing, because the module could be tested as a black box and its quality assured separately from other modules in the system, rather than having to test the whole system at once. Object Orientation can be seen as a set of enhancements to and formalizations of existing techniques. The two basic techniques underlying Object Orientation are encapsulation and inheritance. A less tangible technique, allied to encapsulation, called abstraction, suggests that the group of methods that form an interface to an object taken as a whole represent something meaningful to a user of that interface, say a queue, a sensor, a radar track, rather than being an arbitrary collection of functions.
Inheritance is a mechanism for reusing existing object interfaces and perhaps implementations too.
This can save a lot of effort and is one way of achieving reuse. This technique is not new to object orientation and is increasingly seen as preferable to inheritance in certain circumstances. Classification and abstraction are natural ways for humans to think and can help organize and define objects. Inc. All Rights Reserved. All trademarks are the property of their respective owners.