Two methods provided by the initial object
sub/1. (Note that any definition of
super/1, except the one in
object, is transformed to
super/1 if sent to an object will return the
immediate parents of the object.
sub/1 will return the immediate
children of the object if any. It is important to note that this service
is provided only for objects that have
object as their initial
| ?- john :: super(S), S :: sub(john). S = sportsman ; S = professor ; no
sub/1 property allows programs to traverse object
hierarchies from a root object
object down to the leaves.