Class hierarchies (Inheritance and aggregation


What is difference between Association, Aggregation and Inheritance relationships?

✍: Guest


In object oriented world objects have relation and hierarchies in between them. There are basically three kind of relationship in Object Oriented world :-
This is the simplest relationship between objects. Example every customer has sales. So Customer object and sales object have an association relation between them.
This is also called as composition model. Example in order to make a “Accounts” class it has use other objects example “Voucher”, “Journal” and “Cash” objects. So accounts class is aggregation of these three objects.
Hierarchy is used to define more specialized classes based on a preexisting generalized class. Example we have VEHICLE class and we can inherit this class make more specialized class like CAR, which will add new attributes and use some existing qualities of the parent class. Its shows more of a parent-child relationship. This kind of hierarchy is called inheritance.
When inheritance is used to extend a generalized class to a more specialized class, it includes behavior of the top class(Generalized class). The inheriting class often implement a behavior that can be somewhat different than the generalized class, but the name of the behavior can be same. It is important that a given instance of an object use the correct behavior, and the property of polymorphism allows this to happen automatically.

2007-10-23, 6299👍, 0💬