Lecture 5: Object Oriented Programming and Implementation
Background Material
- Lecture 4 on functional programming and
operational semantics of scheme.
Reading
- Chapter 10 of the text (Object Oriented Programming)
- SICP notes
(oopscheme.pdf) on object oriented programming
in scheme.
- SICP notes
(tool.pdf) on TOOL (Tiny Object Oriented Language).
Theme
This lecture reviews object oriented programming (classes, objects, methods,
instance variables (also called data members, slots) inheritance, polymorphism)
and discusses design choices and implementation strategies for object oriented
languages. In particular, we show that it is easy to implement objects
and inheritance in a language with support for first class functions. A
simple object oriented language, based on Dylan (Dynamic Language), called
TOOL (Tiny Objected Oriented Language), is presented and implemented. The
implementation, from SICP, extends the metacircular interpreter from
lecture 4.
Topics
- Object Oriented Programming concepts
- classes, methods, and instance variables.
- inheritance
- polymorphism
- Objects in scheme
- TOOL (Tiny Object Oriented Language)
Lecture Notes
Programs
Exercises
Created: May 6, 2009 by jjohnson AT cs DOT drexel DOT edu