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:
General:
Dynamic objects and their semantics.
Realized in the Modula-2 notation:
Traced and untraced objects and their safeguarded and unsafeguarded module containers.
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.
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.