What is the difference between inheritance, composition, aggregation, and association?

Question: What is the difference between inheritance and composition?

Answer:

Composition is used to represent a HAS A relationship.
Inheritance is used to represent a IS A relationship.

For example, in Java:

class Name {} // The name class.

class Animal{} // Animal class which is parent to Dog class.

// Dog IS AN Animal, so Dog class extends Animal class.
class Dog extends Animal { 

 // Dog HAS A Name, so Dog class has an instance of Name class as its member.
 private Name name;

}

Companies: Adobe

Comments (2)