SClassExtension-class: 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.