OO COBOL: classes and objects
| CLASS-ID | |
| METHOD-ID | |
| Objects |
CLASS-ID
COBOL 2002 added objects. A class starts with CLASS-ID, and its data lives in the OBJECT section of DATA DIVISION:
IDENTIFICATION DIVISION.
CLASS-ID. Employee.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 WS-NAME PIC X(30).
METHOD-ID
Methods are declared in the PROCEDURE DIVISION with METHOD-ID, and end with END METHOD. The object is referenced by the keyword SELF:
PROCEDURE DIVISION.
METHOD-ID. SetName.
MOVE SELF TO WS-NAME
.
END METHOD.
Objects
A calling program creates an object with INVOKE and releases it when done. OO COBOL is fully supported by GnuCOBOL, but most shop code stays procedural because the bulk of legacy systems is procedural.
INVOKE Employee "NEW" RETURNING WS-EMP.
INVOKE WS-EMP "SetName" USING "Ada".
Next: Inheritance in OO COBOL
Article author: Arthur Isaev