19.0 Chapter Goals

The purpose of this chapter is to extend the concept of abstract data types to include object classes. On completing the chapter, the student should understand and be able to use the concepts of Object Oriented Modula-2 to design and construct both traced and untraced object classes and instantiate and manipulate their objects:

Data Representation Abstractions

General:

Dynamic objects and their semantics.

Realized in the Modula-2 notation:

Traced and untraced objects and their safeguarded and unsafeguarded module containers.

Data Manipulation Abstractions

General:

Design and creation of ADTs in the form of object classes.

Realized in the Modula-2 notation:

Creation and manipulation of objects, their attributes and methods.

Programming Abstractions

General:

Controlling component access and visibility, inheritance.

Realized in the Modula-2 notation:

The use of READONLY and REVEAL to control use and visibility, INHERIT, and the GUARD statement for dynamic class membership.


Contents