Inheritance Terminology
Applies To: Microsoft Dynamics AX 2012 R3, Microsoft Dynamics AX 2012 R2, Microsoft Dynamics AX 2012 Feature Pack, Microsoft Dynamics AX 2012
This topic describes the terminology that is used to discuss the inheritance relationships between sets of classes or set of tables in Microsoft Dynamics AX.
Inheritance Terminology
In X++, suppose that class AA extends from the Object class, and class BB extends AA, and class CC extends BB. This inheritance hierarchy can be represented by the following notation:
Object > AA > BB > CC
Table of Terms
The following table describes the terms that are used to discuss the inheritance example in the previous notation.
Term |
Use |
---|---|
ascendant |
Class AA is an ascendant of CC. |
base |
Class AA is the base of BB. |
child |
Do not use child when discussing inheritance. This term is often used when discussing foreign key relationships between tables. |
descendant |
Class CC is a descendant of AA. |
derived |
Class BB is derived from AA. |
downcast |
The X++ assignment statement myCC = myAA as CC; is a downcast assignment. The as keyword is needed at compile time for downcasting. The downcast might or might not be valid at run time. For more information, see Expression Operators: Is and As for Inheritance. The Object class is said to be at the top of the inheritance hierarchy. The CC class is at the bottom of the hierarchy. Casting from class AA to CC goes down the hierarchy. The following code example illustrates an invalid downcast.
|
extends |
In X++, the extends keyword is used in the classDeclaration node of a class in the Application Object Tree (AOT). The extends keyword means that the present class derives from the class that is named on the extends clause. |
Extends |
At AOT > Data Dictionary > Tables > MyTable > Properties, the Extends property is used to derive MyTable from another table. |
inherits |
Class BB inherits from the AA class and the Object class. |
parent |
Do not use parent when discussing inheritance. This term is often used when discussing foreign key relationships between tables. |
subtype |
Class BB and class CC are both subtypes of class AA. |
supertype |
Class BB and class AA are both supertypes of class CC. |
upcast |
The X++ assignment statement myAA = myCC; is an upcast assignment. Upcasting is valid at compile time, and is valid during run time. The as keyword is not needed. The Object class is said to be at the top of the inheritance hierarchy. The CC class is at the bottom of the hierarchy. Casting from class CC to AA goes up the hierarchy. The following code example is an upcast.
|
See also
Announcements: New book: "Inside Microsoft Dynamics AX 2012 R3" now available. Get your copy at the MS Press Store.