A few concepts that must be understood before working with object-oriented programming and ABL are classes, types, data members, methods and objects. All these concepts are closely related. It is important to understand the difference between these terms. The following list explains all the above important concepts.
Type: A type is a name that identifies specific members of a class, which can include methods, properties, data members, and events.
Class: A class defines the implementation of a type and its class members. An abstract class is essentially a type with an incomplete implementation. Classes in ABL support a basic set of object-oriented concepts.
Interface: An interface also defines a type that identifies certain class members (properties, methods, or events) that a class must implement.
Data Members: Data of a class is stored in data members. Each data member is defined by a name and type.
Object: An object is an instance of a class whose type can be represented as any class or interface that contributes members defined in the object’s class hierarchy. Objects have a life cycle in which they can be repeatedly created, used, and destroyed during an ABL session.
For more information on Object-oriented programming, see the guide OpenEdge Development: Object-oriented Programming.