Objectica Guide
Objectica Reference Guide
 
Classes and Interfaces
Class create classes
Interface define contract to be implemented
Object basic class for all objects (has neither fields nor methods)
This pointer to the object itself (used to resolve conflicts)
Super symbolic reference to parent class
Descendants list of classes derived from a class
Destructor method of an object called during destruction
LockClass make classes unchangeable (for commercial class libraries)
ClassNumber unique number of class
Objects
New create new objects
Objects list of created objects
ObjectQ test if an evaluated expression is an object
DirectlyObjectQ test if an unevaluated expression is an object
InstanceOf test the type of an object
ObjectInitializations preconstructor settings for object fields
RemoveObjects delete all objects of one class
ObjectNumber unique number of object
Attributes
Public tag of class member that can be accessed from anywhere
Protected tag of a class member that can be used in derived classes
Private tag of class member that can only be used in the same class
Static tag of class member that is shared by all objects of a class
Override tag for a class member that changes the functionality of its parent
Virtual tag for a class member that is used polymorphically
Real tag for a class member that is not used polymorphically
Abstract tag for a class or a class member to be implemented by a derived class
Final tag for a class or a class member that cannot be changed in a derived class
Property tag of a class field that is accessed through getter and setter methods
Default tag of a class method or indexer that needs not to be specified
Constant tag for a method that does not change an object or its class
Mutable tag for a field that may be changed by a constant method
Transient tag for a class or a class member to be excuded from being exported
External tag for a method used as an operator on objects
Impact on System
Dot operator to define and access classes as well as objects
Part access parts of a class field
MessageName handle InstanceOf and TypeOf operators
Import tag for a symbol not defined in the class' hierarchy
Export save class and object definitions
Objectica list information on the package
Globals
$DefaultClass base class to use if not specified
$DefaultAccess level of encapsulation to use if not specified
$DefaultInheritance type of polymorphism to use if not specified
$CalledClass class of method currently executed
$CallingClass class of method that invoked method currently being executed
$ObjectNumber counter of objects being created
$ClassNumber counter for classes being created
$ObjectPrefix start of name of newly created objects
$ClassPrefix start of name of newly created anonymous classes
Information on Classes
ClassQ test if an expression is a class
InterfaceQ test if an expression is an interface
AnonymousClassQ test if an expression is an anonymous class
TypeOf test the type of a class
ClassAttributes list of tags of a class or a class member
ClassFieldQ test if a pattern represents a field of a class
PropertyQ test if a pattern represents a property of a class
ObjectConstructorQ test if currently in an object constructor
ClassConstructorQ test if currently in a class constructor
ClassAccessAllowedQ test if a caller may use a class member
ClassInformation details on class members
ClassTemplates server function for the menu command "Make Template"
VirtualMemberTable location of a class pattern (virtual method table)
ClassFieldSlot location of a class field
MORE ABOUT
Overview - tutorials and examples