| Relationship | Description |
|---|---|
| Dependency | uses a |
| Generalization | is a |
| Association | has a |
| Aggregation (Association) | has a |
| Composition (Association) | has a |
The purpose of generalization is to solve a design problem. If you don't have a design problem, don't use generalization.
In general: The condition of occurring in several different forms
For design: A single interface to entities of different types
process()virtual methodstuitionCost()tuitionCost()?An override is when a derived class redefines a virtual method of the base class
virtual specifier is often also applied to the method in the derived class, but that is not necessary. A better approach is to use the override specifier placed after the const.CustomerBase objectsCustomerBase objects