Description
A class is a type that has objects as its instances.
Attributes
Semantics
Classes have attributes and operations and participate in inheritance hierarchies. Multiple inheritance is allowed. The
instances of a class are objects. When a class is abstract it cannot have any direct instances. Any direct instance of a
concrete (i.e. non-abstract) class is also an indirect instance of its class's superclasses. An object has a slot for each of its
class's direct and inherited attributes. An object permits the invocation of operations defined in its class and its class's
superclasses. The context of such an invocation is the invoked object.
Notation
The notation for Basic::Class is the same as that for Constructs::Class with the omission of those aspects of the notation
that cannot be represented by the Basic model.