Here's a simplified picture of classes and instances in the object system, showing the most important slots and relationships. (I've simplified the superclass list to be a single superclass pointer, which is all you actually need for single inheritance. I've also left off a couple of slots in class objects, the list of accessor methods for the slots, and the property list, which I haven't shown the use of.) In this picture, I just show three classes, , its subclass , and 's subclass . I've drawn two instances of and one instance of . Notice that each instance has a class pointer in its zeroth slot, pointing to the class object that describes it. Some things to notice about this picture: * super links point from class objects to superclass objects. This reflects the fact that one class may be defined in terms of another, via inheritance. * each object's header has a pointer to the object that represents its class. This is different from a superclass link. (e.g., a particular instance IS a point or IS a colored point or whatever, but the class represents A KIND OF ). * I haven't drawn the class pointers in the zeroth slots of class objects---that's in the next picture. * The name slots in class objects are just there for documentation---they don't really affect much about how a class works, because classes are first class. * I've only shown three classes here, and the inheritance hierarchy is very simple. In general, a class may have any number of subclasses, so the class hierarchy may be a bushy tree. CLASS OBJECTS: INSTANCES: +-------+ | | +=======+ super | * | +-------+ name | *---+--> +-------+ slots | * | +-------+_ |\ \ | +-------+ +----------------------------------------+---* | | | +=======+ v | x | *---+-->400 +-------+ | +-------+ +-------+ | |<------------------+---* | y | *---+-->150 +=======+ | +=======+ +-------+ super | +---+--+ x | *---+-->10 +-------+ +-------+ name | *---+--> y | *---+-->200 +-------+ +-------+ slots | *---+--> (x y) +-------+_ |\ \ | | | +-------+ +-------+<--------------------------------+---* | | | | +=======+ +=======+ | x | *---+--->50 super | *---+--+ +-------+ +-------+ y | *---+--->20 name | *---+--> +-------+ +-------+ color | *---+--->green slots | *---+----> (x y color) +-------+ +-------+