3.3.2.2 Features of Classes
DRM
There are four features of classes. These features relate to each other, but can be declared independently.
    • A class can be abstract or concrete. If the class is concrete, it can have direct instances. If it is abstract, it cannot have direct instances, but only indirect instances.
    • A class can be instantiable or uninstantiable. If the class is instantiable, it can be used as the first argument to make. If it is uninstantiable, it cannot be used as the first argument to make.
    • A class can be primary or free. This controls how a class can be used for multiple inheritance. For a full description of this feature, see "Declaring Characteristics of Classes" on page 134.
    • A class can be sealed or open. This controls whether a class can be subclassed outside the library where it is defined. For a full description of this feature, see "Declaring Characteristics of Classes" on page 134.