Generalizations
A generalization represents an inheritance relationship between a general class and a more specific class. The more specific class is fully consistent with the more general class and inherits its characteristics and behavior. However, it also contains additional information. Any instance of the more specific class is also an instance of the general class.
What is a Generalization?
Class A is a generalization of class B. This implies that all objects in class B are also objects in class A. In other words, B is a subset of A.
B is then the subclass and A the superclass.
Example A: Person, B: Bostonian.
B is a subset of A, so the objects in class B inherit the characteristics of those in class A.
It is therefore unnecessary to redescribe for class B:
Its attributes
Its operations
Its associations
Example 
The "Large Client” class, representing Clients with a 12-month revenue exceeding $1 million, can be a specialization of the Client class (origin).
In the above example, the associations and attributes specified for “Client” are also valid for “Large client”.
Multiple Subclasses - Generalization
When a class has multiple subclasses, they:
are not necessarily exclusive.
do not necessarily partition the set.
Advantages of Subclasses - Generalization
A subclass inherits all the attributes, operations, and associations of its superclass, but can have its own attributes or associations that the superclass does not have.
A subclass can also have specific attributes. These only have meaning for that particular subclass. In the above example:
"Registry number" and "number of employees" only have meaning for a "company".
"Date of birth" is a characteristic of a "person", not a "company".
It is also useful to calculate the "age" of a "person". This attribute and this operation are generally not needed for a "company".
A subclass can also have specific associations.
A "person" falls into a "socio-professional group": "manager", "employee", "shop keeper", "grower", etc. This classification makes no sense for a "company". There is also a classification for companies, but it differs from that for persons.
Multiple Inheritance - Generalization
It is sometimes useful to specify that a class has several superclasses. The subclass inherits all the characteristics of both superclasses. This possibility should be used carefully.
*Multiple inheritance is not taken into account when generating tables.
Creating a generalization
To create a generalization:
1. Click the Generalization button in the toolbar.
2. Click the subclass concerned, and drag the mouse to the superclass before releasing the button.
The generalization is now indicated in the diagram by an arrow.
Discriminator - Generalization
The discriminator is the attribute of a generalization, the value of which distributes objects into the sub-classes associated with the generalization.
For example, the gender code attribute divides the objects in the person class into the man and woman subclasses.
You can define discriminator(s) in the generalization properties dialog box, under the Discriminators page.