Release 10.1A: OpenEdge Getting Started:
Object-oriented Programming

> ## Supporting 4GL

> The following 4GL elements specially support programming of and programming with class-based objects:

> - `SUPER` statement — Invokes the constructor of the immediate super class from the constructor of the invoking subclass. For more information, see the "Constructing an object" section.

> - `SUPER` system reference — Invokes the implementation of a specified method within a class hierarchy as implemented in the lowest super class above the invoking subclass. Analogous to the `RUN` `SUPER` statement or `SUPER` function in procedure-based programming. For more information, see the "Calling a super class method" section.

> - `CAST` function — Allows a super class object reference to be assigned to a related subclass object reference. For more information, see the "Assignment and the CAST function" section.

> - `TYPE-OF` function — Verifies the type of an object. For more information, see the "TYPE-OF function" section.

> - `VALID-OBJECT` function — Validates that an object reference points to a real object. Analogous to the `VALID-HANDLE` function for internal object handles. For more information, see the "VALID-OBJECT function" section.

> - `THIS-OBJECT` system reference — Returns an object reference to the current object from a method within the class hierarchy of the object. Analogous to the `THIS-PROCEDURE` object handle for procedures. For more information, see the "THIS-OBJECT system reference" section.

> - `FIRST-OBJECT` attribute — A `SESSION` handle attribute that returns an object reference to the first class-based object instantiated in a Progress session. Analogous to the `FIRST-PROCEDURE` attribute for persistent procedures. You can use the `NEXT-OBJECT` data member of any class to walk the list of instantiated class-based objects forward from the first to the most recent object currently instantiated in the session. All user-defined classes inherit `NEXT-OBJECT` from the root class, `Progress.Lang.Object`. For more information on the `FIRST-OBJECT` attribute and the `NEXT-OBJECT` data member, see the "Progress session object references" section.

> - `LAST-OBJECT` attribute — A `SESSION` handle attribute that returns an object reference to the most recent class-based object instantiated in a Progress session. Analogous to the `LAST-PROCEDURE` attribute for persistent procedures. You can use the `PREV-OBJECT` data member of any class to walk the list of instantiated class-based objects backward from the most recent to the first object currently instantiated in the session. All user-defined classes inherit `PREV-OBJECT` from the root class, `Progress.Lang.Object`. For more information on the `LAST-OBJECT` attribute and the `PREV-OBJECT` data member, see the "Progress session object references" section.

Copyright © 2005 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095