An object is a set of data combined with the logic to manipulate that data. A class describes an object. It is abstract in that it does not appear in the generated application, but it can be used to create objects which do. You should consult an object-oriented reference for details if you are unsure of its meaning. The following discussion is confined to aspects of classes that are specific to Agile Business Suite.
The following classes are available:
Refer to Model Entities for more information on namespace and ownership, valid member kinds, and visibility of classes.
Stereotyping
The term ‘stereotype’ is a UML (Unified Modeling Language) concept that applies special meaning to a model element. In Agile Business Suite, classes can be stereotyped.
A class's stereotype determines and distinguishes the manner in which it is interpreted during the processing cycles. For example, all ispec-stereotyped classes (ispecs) have built-in methods such as Process and Construct that are automatically called at appropriate points of the ispec processing cycle.
Classes that are not stereotyped do not possess any inherent behavior. These are Classes with no stereotype.
Inheritance (Applicable to Advanced and User Experience modes)
A class that inherits from another class has access to public and protected definitions in its superclass. Additionally, the inherited class forms a new type if the class definition is extended either by adding a member or by changing the semantic property of the class.
There are two types of properties relevant to a class namely, Descriptive and Semantic, which are explained as follows:
Descriptive properties
These properties are either used for design or as a default. They do not affect the runtime behavior of the class, but are either descriptive such as Description property or influence the semantics of other entities such as MemberPersistence property.
Semantic properties
These properties define the class behavior and might force the inclusion of framework members. These properties define the type and might be optional such as the AutomaticEntryCapable property. Some examples of semantic properties are Length, Primitive, PresentationType, and Stereotype. Once a semantic property has been specified it cannot be modified by an inheriting object (length).
Note: Agile Business Suite supports single-inheritance. Multiple-inheritance is not supported.
Inheritance is manifested in the Inherits property of a class.
Inheritance can not be used if:
|
Additional restrictions might come from how the inheritance relationship is represented in the database. Where the superclass and subclasses are stored in the same table, the limit on the total number of attributes (4095 for MCP) is applied to the superclass and all its subclasses.
When referring to inheritance relationships between classes, the following terms are used:
This – refers to the current class.
Super – refers to the super (or base) class of the current class.
Refer to Class Properties for properties applicable to base classes.