Instances are different from other objects in that they do not
inherit. Instead they share the predicate name space with its
class object. They do however have their own attributes. At creation, an
instance gets a copy of its class objects attributes. The reserved
attribute '$class'/1
, which is present in any object, is used for
an instance to hold its class object identifier. The purpose of this is
mainly to store the parameters of the class object when the instance is
created.