Generalizations (OOM)

A generalization is a relationship between a general element (the parent) and a more specific element (the child). The more specific element is fully consistent with the general element and contains additional information.

A generalization can be created in the following diagrams:

You create a generalization relationship when several objects have common behaviors. You can also create a generalization between a shortcut of an object and an object but, if the link is oriented, only the parent object can be the shortcut.

Generalizations in a Use Case Diagram

In a use case diagram, you can create a generalization between:

  • Two actors

  • Two use cases

For example two or more actors may have similarities, and communicate with the same set of use cases in the same way. This similarity is expressed with generalization to another actor. In this case, the child actors inherit the roles, and relationships to use cases held by the parent actor. A child actor includes the attributes and operations of its parent.



Generalizations in a Class or Composite Structure Diagram

In a class diagram, you can create a generalization between:

  • Two classes

  • Two interfaces

For example, an animal is a more general concept than a cat, a dog or a bird. Inversely, a cat is a more specific concept than an animal.

Animal is a super class. Cat, Dog and Bird are sub-classes of the super class.



Generalizations in a Component Diagram

In a component diagram, you can create a generalization between two components, as shown below: