... | ... | @@ -22,6 +22,16 @@ _Semantic description_ |
|
|
|The resulting type of a class definition is the set of object instances of the class itself and all instances of its direct or indirect subclasses.|:question:|
|
|
|
| A subclass is a subtype of its direct and indirect superclasses and supertraits and its object instances are type compatible with them.|:question:|
|
|
|
|If a class does not explicitly extend another class type, it implicitly extends the root class type object.|:x:|
|
|
|
|A class inherits all members of its superclass and its supertraits that it does not override in its own class body.|:white_check_mark:|
|
|
|
|A non-private non-abstract member from the superclass can always be accessed inside the class body by using the dotted notation on the keyword **super**.|:question: |
|
|
|
|Non overridden non-private members can be accessed without any dotted notation
|
|
|
before the member name.|:question:|
|
|
|
|A class can have optional runs on, mtc and system clauses.|:question:|
|
|
|
|This restricts the type of component context that can create objects of that class and all methods of this class.|:x:|
|
|
|
|If the superclass has or inherits a runs on, mtc or system clause, the subclass may
|
|
|
declare each of these clauses with a more specific component type than the one inherited.|:x:|
|
|
|
|The function members of classes shall not have runs on, system or mtc classes but inherit them from their surrounding class or its superclasses.|:white_check_mark: except inheritance|
|
|
|
|Classes can be used as field or element types of structured types.|:question:|
|
|
|
|
|
|
_Restrictions_
|
|
|
|
... | ... | |