Skip to content

Some Important Concepts

Association:

  • If two classes in a model need to communicate with each other, there must be a link between them, and that can be represented by an association
  • Association
  • Example 1 : A single student can associate with multiple teachers.
  • Example 2 : Every Instructor has one or more Students.
  • Aggregation and Composition are subsets of association

Aggregation:

  • Aggregation is a subset of Association.
  • Aggregation
  • Aggregation implies a relationship where the child can exist independently of the parent.
  • Example: Class (parent) and Student (child). Delete the Class and the Students still exist.

Composition:

  • Composition is a subset of Association.
  • Composition
  • Composition implies a relationship where the child cannot exist independent of the parent.
  • Example: House (parent) and Room (child). Rooms don't exist separate to a House.

Generalization:

  • Generalization is a mechanism for combining similar classes of objects into a single, more general class.
  • Generalization is the term that we use to denote abstraction of common properties into a base class in UML.
  • The UML diagram's Generalization association is also known as Inheritance.
  • When we implement Generalization in a programming language, it is often called Inheritance instead. Generalization and inheritance are the same.
  • The terminology just differs depending on the context where it is being used.

Specialization:

  • Specialization is the reverse process of Generalization means creating new sub-classes from an existing class.