Glossary of terms
- Last Updated: January 29, 2026
- 1 minute read
- OpenEdge
- Version 12.8
- Documentation
A glossary of terms introduces the object-oriented concepts.
| Term | Meaning |
|---|---|
| Access mode | Controls where and how a class member can be accessed. |
| Class | Provides the definition of a type, which represents the state and behavior for instances of the class (objects). A class can define members, including data members and properties (representing the state), and methods and events (representing the behavior) for any object belonging to the class. A class can be abstract, in which case it can define abstract members, including properties, methods, or events, that must be implemented by a derived class. An abstract class member is defined only by a name, data type, and signature as appropriate for each abstract method, property, or event, but no implementation. |
| Class hierarchy | The set of classes that make up the class definition. The hierarchy includes all classes in the inheritance chain as well as any implemented interfaces. |
| Delegation | A design technique where one class (referred to as
the container) accesses the PUBLIC interface of
another class (referred to as the delegate). Normally, the container class uses the
capabilities of the delegate class by delegating work to it. The container class then
defines its own PUBLIC interface to allow other
classes outside the container class to access the delegate class's capabilities.
|
| Derived class | See Subclass. |
| Encapsulation | Refers to the design and creation of self-contained and purposed components that are implemented as classes. Because a well-designed class strictly controls access to its state and behavior without revealing its implementation, it supports information hiding (encapsulation) to protect that state and behavior. Thus, encapsulation allows the implementation of an object’s behavior to change without affecting any caller that invokes that behavior in the object. |
| Inheritance | The mechanism through which new classes (or types)
can be derived from existing classes or types. The relationship of subclass and super
class is established by inheritance. The subclass inherits the
|
| Interface | Provides the definition of a type that specifies a contract consisting of one or more properties, methods, and events that must be defined by any class that implements the interface. An interface assures a common way for accessing functionality that might differ from one class to the next depending on its implementation. All properties, methods, and events in an interface are abstract, meaning that the interface provides only a name and signature definition (prototype) for each property, method, and event, but no implementation. |
| Member | Class definition:An element of a class definition that defines its state or behavior. Depending on its definition, a member of a class can be inherited by other classes (subclasses) or accessed from contexts outside the defining class hierarchy. Members of a class can include data members, properties, methods, and events. All other components of a class definition support the definition or function of these class members. Interface definition:An element of an interface definition that defines a prototype for state or behavior that a class must implement. Members of an interface can include prototypes for properties, methods, and events, which the interface can define or inherit from other interfaces (super interfaces). All other components of an interface definition support the member prototypes that it defines. |
| Message | A communication with an instance of a class (object) that identifies specific behavior to invoke in that class. One way to communicate with (send a message to) an object is to invoke a method on the object that is defined by the object’s type. |
| Method overloading | Defining a method in a class that has the same name as, but a different signature than, another method defined in or inherited by the class. It provides a means to conserve method names, where you might specify related but different behavior for each method defined with the same name. |
| Method overriding | Defining a method in a class that has the same name, signature, and return type of a non-private method defined in its class hierarchy. An overriding method can access the overridden method in a super class in order to extend that super class’s behavior. Method overriding is used to implement a powerful type of polymorphism. |
| Object | For classes, an instance of a class with state (represented by its data members and properties) and behavior (implemented by its methods). For procedures, an instance of a persistent procedure (procedure object). Also, an instance of an ABL data, visual, or other element (such as a procedure or socket object) that can be referenced by a handle (handle-based object), and an instance of an ActiveX control (COM object) as supported in ABL. |
| Object reference | A value that provides access to an instance of a class. An object reference is strongly typed and can be stored in an ABL data element, such as a data member or property of a class or a variable in a method, procedure, or user-defined function. |
| Polymorphism | A mechanism where by a method can be implemented or overridden in different ways by different subclasses of a super class. Any reference to the method on a super class object reference, or within the class hierarchy of the object, invokes the most derived version of the method, that is, the version of the method defined in the most derived subclass in the class hierarchy of the object. This ability to provide multiple behaviors for a method by allowing different implementations in different subclasses and, accessing the different subclass implementations through the super class, is called polymorphism—hence poly- (many) morphism (forms). |
| Property overriding | Defining a property in a class that has the same name as a non-private property defined in its class hierarchy. An overriding property can access the overridden property in a super class in order to extend that super class’s behavior. |
| Root class |
The super class for all classes that do not
explicitly inherit from some other class. In ABL, the root class is the built-in
class, |
| Super class | A class that is inherited by another class. A super
class is also called a base class. The top-most super class in a given class hierarchy
is the root class (Progress.Lang.Object in ABL). |
| Subclass | A class that inherits behavior from another class (a super class) in its class hierarchy. A subclass has access to all of the non-private state and behavior in its super class hierarchy. A subclass is also called a derived class, and the bottom-most subclass in a given class hierarchy is called the most derived class (or subclass). |
| Subinterface | An interface that inherits member prototypes from one or more other super interfaces. Inherited members must be implemented by a class as if they were defined directly by the subinterface that the class implements. |
| Super interface | An interface whose member prototypes are inherited by another interface. |
| Type | Specifies the structure and semantics of an object, but not its implementation. Types are used to enforce strong typing, and an object type is identified by a name and the interface to its members. The implementation of an object, however, is defined by the behavior of its class members. |