SClassExtension-class        package:methods        R Documentation

Class to Represent Inheritance (Extension) Relations

Description:

     An object from this class represents a single 'is' relationship;
     lists of these objects are used to represent all the extensions
     (superclasses) and subclasses for a given class.  The object
     contains information about how the relation is defined and methods
     to coerce, test, and replace correspondingly.

Objects from the Class:

     Objects from this class are generated by 'setIs', from direct
     calls and from the 'contains=' information in a call to
     'setClass', and from class unions created by 'setClassUnion'. In
     the last case, the information is stored in defining the
     _subclasses_ of the union class (allowing unions to contain sealed
     classes).

Slots:


     'subClass,superClass': The classes being extended: corresponding
          to the 'from', and 'to' arguments to 'setIs'. 

     'package': The package to which that class belongs. 

     'coerce': A function to carry out the as() computation implied by
          the relation.  Note that these functions should _not_ be used
          directly.  They only deal with the 'strict=TRUE' calls to the
          'as' function, with the full method constructed from this
          mechanically. 

     'test': The function that would test whether the relation holds. 
          Except for explicitly specified 'test' arguments to 'setIs',
          this function is trivial. 

     'replace': The method used to implement 'as(x, Class) <- value'.

     'simple': A '"logical"' flag, 'TRUE' if this is a simple relation,
          either because one class is contained in the definition of
          another, or because a class has been explicitly stated to
          extend a virtual class.  For simple extensions, the three
          methods are generated automatically.

     'by': If this relation has been constructed transitively, the
          first intermediate class from the subclass. 

     'dataPart': A '"logical"' flag, 'TRUE' if the extended class is in
          fact the data part of the subclass.  In this case the
          extended class is a basic class (i.e., a type). 

     'distance': The distance between the two classes, 1 for directly
          contained classes, plus the number of generations between
          otherwise.   

Methods:

     No methods defined with class '"SClassExtension"' in the
     signature.

See Also:

     'is', 'as', and the 'classRepresentation' class.

