Lecture Notes on Object-Oriented Programming

The Object Model

The terminology of OO is still evolving; each book and language has a slightly different set of terms. Start a terminology cheat sheet. I'll let you know what should be on it as we go.

The object model has many facets. Here are the ones you'll eventually have to understand to be mature OO developers. Note that these aren't "OO" concepts. There is however a way of thinking about and understanding them in an OO context.

  • Abstraction, Encapsulation, Identity, Modularity, Hierarchy, Typing, Concurrency, Persistence

This is initially a scary, rather monstrous task. We'll take them iteratively, in keeping with our OO development methodology.