Go to the first, previous, next, last section, table of contents.

Fundamental Object Attributes

There are three fundamental attributes to every object:

  1. A flag (either true or false) specifying whether or not the object represents a player,
  2. The object that is its parent, and
  3. A list of the objects that are its children; that is, those objects for which this object is their parent.

The act of creating a character sets the player attribute of an object and only a wizard (using the function set_player_flag()) can change that setting. Only characters have the player bit set to 1.

The parent/child hierarchy is used for classifying objects into general classes and then sharing behavior among all members of that class. For example, the LambdaCore database contains an object representing a sort of "generic" room. All other rooms are descendants (i.e., children or children's children, or ...) of that one. The generic room defines those pieces of behavior that are common to all rooms; other rooms specialize that behavior for their own purposes. The notion of classes and specialization is the very essence of what is meant by object-oriented programming. Only the functions create(), recycle(), chparent(), and renumber() can change the parent and children attributes.


Go to the first, previous, next, last section, table of contents.