Introduction to Object Oriented Programming, 3rd Ed

Timothy A. Budd

Chapter 27

Implementation

Outline

  1. Roadmap
  2. Two General Approaches to Implementation
  3. The Receiver as Argument
    1. The Corresponding Formal Argument
  4. Non-virtual methods
  5. Name Encoding
  6. Inherited Methods
    1. The Problem with Multiple Inheritance
    2. The Slicing Problem
  7. Overridden Methods
    1. Solution, A Virtual Method Table
    2. Instances Share the same Virtual Method Table
    3. Method Calls become Indexed Offsets
    4. Building a Virtual Table for a Subclass
    5. Virtual Method Table for Subclasses
    6. Elimination of Virtual Calls
  8. Dispatch Tables
    1. An Object and Its Dispatch Table
    2. Method Cache
    3. The Messaging Function checking the Cache
  9. Bytecode Interpreters
    1. Bytecodes in the Little Smalltalk System
  10. Just In Time Compilers

Other Material

Intro OOP, Chapter 27, Outline