Now you should understand better how classes are organized and the impact of a uniform object model. If you get lost or confused, you should always remember that message passing is the key: you look for the method in the class of the receiver. This works on any receiver. If the method is not found in the class of the receiver, it is looked up in its superclasses.
Every class is an instance of a metaclass. Metaclasses are implicit. A Metaclass is created automatically when you create the class that is its sole instance.
The metaclass hierarchy parallels the class hierarchy. Method lookup for classes parallels method lookup for ordinary objects, and follows the metaclass’s superclass chain.
Every metaclass inherits from
Behavior. Every class is a
Class. Since metaclasses are classes too, they must also inherit from
Behavior provides behaviour common to all entities that have instances.
Every metaclass is an instance of
ClassDescription provides everything that is common to
The metaclass of
Metaclass is an instance of
Metaclass. The instance-of relation forms a closed loop, so
Metaclass class class →