Data types: Certain Chora class
Represents an object of a certain Chora class.
Operands of this data type are intended to store references to objects of a certain Chora class and all classes derived from it. Chora compiler ensures, that the operands are never initialized with objects not descended from the specified class.
A certain class data type must always consist of two identifiers: the name of the unit containing the class definition and the name of the class itself, both separated by :: (double colon). The type is designated to be used in declarations of data members able to refer to objects of the corresponding class. The literal, in turn, can assume the value null only to identify 'no object'. For example:
var Core::View theView = null; // 'theView' doesn't refer to any Chora object theView = SomeTextView; // now 'theView' refers to a text view [...] theView = SomeImageView; // now 'theView' refers to an image view if ( theView != null ) trace "theView refers to an object";
The certain class data types can be used in conjunction with the new operator to create new instances of the respective class.
Evaluating object's class
Performing safe typecasts
You can perform a runtime type casting operation on the object represented by the operand in order to determine, whether it descends from a particular class or not.
You can compare two object operands in order to test whether these refer to the same instance or not. The following table provides an overview of the possible operations:
Equality test for two object operands.
Inequality test for two object operands.