💻 COBOL
COBOL Object-Oriented Basics
Advanced 🕑 20 min read
👁 0 views
COBOL Object-Oriented Basics
Enterprise COBOL supports object-oriented programming with classes, methods, and inheritance.
Class Definition
```cobol CLASS-ID. ClassName INHERITS Base. REPOSITORY. CLASS Base IS 'Base'. CLASS ClassName IS 'ClassName'. ```
Instance Data
```cobol OBJECT. DATA DIVISION. WORKING-STORAGE SECTION. 01 instance-variable PIC X(20). ```
Methods
```cobol METHOD-ID. methodName. DATA DIVISION. LINKAGE SECTION. 01 param PIC X(10). PROCEDURE DIVISION USING param. ... END METHOD methodName. ```
Factory vs Object
- FACTORY: Class methods (like static)
- OBJECT: Instance methods
Creating Objects
```cobol INVOKE ClassName 'new' RETURNING obj-ref. ```
Invoking Methods
```cobol INVOKE obj-ref 'methodName' USING param. ```
Code Example
CLASS-ID. Employee INHERITS Base.
REPOSITORY.
CLASS Base IS 'Base'.
OBJECT.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 emp-name PIC X(30).
01 emp-salary PIC 9(7)V99.
PROCEDURE DIVISION.
METHOD-ID. setName.
DATA DIVISION.
LINKAGE SECTION.
01 ls-name PIC X(30).
PROCEDURE DIVISION USING ls-name.
MOVE ls-name TO emp-name.
GOBACK.
END METHOD setName.
METHOD-ID. getSalary.
DATA DIVISION.
LINKAGE SECTION.
01 ls-salary PIC 9(7)V99.
PROCEDURE DIVISION RETURNING ls-salary.
MOVE emp-salary TO ls-salary.
GOBACK.
END METHOD getSalary.
END OBJECT.
END CLASS Employee.