Chapter 19
Object Oriented Modula-2



19.0 Chapter Goals
19.1 Introduction to Object Oriented Thinking
19.2 Object Oriented Terminology
    19.2.1 Basic Definitions
    19.2.2 Reference versus Value Objects
19.3 Getting Started with Object Oriented Modula-2
    19.3.1 A Little History
    19.3.2 Some Simple OOM-2 Programs
    19.3.3 Summary of Basic OOM-2 Traced Class Semantics
19.4 Untraced Objects
19.5 Assignment and Comparison of Objects
19.6 Encapsulation of Classes in Separate Modules
19.7 Inheritance
    19.7.1 Why Inherit
    19.7.2 Inheritance in OOM-2
    19.7.3 Assignment Compatibility between Classes and Subclasses
    19.7.4 Overriding Methods in Subclasses
    19.7.5 Class and Object References
    19.7.6 Why Single Inheritance?
19.8 Abstract Classes
19.9 Guard Statement
19.10 Additions to the Libraries
    19.10.1 Exceptions
    19.10.2 Coroutines
    19.10.3 The Module Garbage Collection
19.11 Extended Example--Points and Vectors
19.12 Example Outline--Personnel Records
19.13 On the Use of Programming Paradigms
19.14 Chapter Summary
19.15 Assignments
Programming Note--Comparisons With Other Object Notations
Contents