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