[CCC] Object class comment - v2

Dwight Hughes dwighth at ipa.net
Wed Mar 1 04:02:10 UTC 2000

Object is the root class for almost all other classes in the class 
hierarchy (except for its superclass ProtoObject -- and any other 
classes that directly subclass nil). Object inherits the minimum 
necessary object behavior defined in ProtoObject and adds the 
behavior/protocols common to all normal objects, such as access, 
copying, comparison, error handling, message sending, and reflection.

Object has no instance variables, nor should any be added. Several 
classes of objects that inherit from Object either have special 
implementations (SmallInteger and UndefinedObject for example), 
or their structure and layout are known to the VM.

Because Object is the root of the normal inheritance tree, general 
utility methods are often defined here to give all objects special 
behaviors needed by certain subsystems or applications, or to 
respond to certain general test messages.

Class Variables:
    DependentsFields		an IdentityDictionary
        Maps each object to its dependents. Allows all objects to 
        take part in the dependency mechanism, even if they do not
        have an explicit dependents field. See Object>>dependents
        and its senders.


Thanks to all who have contributed their thoughts on this - I hope I
captured the essence of most of your contributions.

-- Dwight

More information about the Squeak-dev mailing list