A base type (or base class) describes the complex data type for a generalization of another complex data type. Complex data types based on one or more base types are complex data types derived from the base type. Each derived data type inherits the properties from its base type.
Base types can be defined as exclusive or as shared base types. Concerning inheritance, there is no difference between shared and exclusive base types.