Rev 39342 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed
\name{SClassExtension-class}\docType{class}\alias{SClassExtension-class}\title{Class to Represent Inheritance (Extension) Relations }\description{ An object from this class represents a single \dQuote{is}relationship; lists of these objects are used to represent all theextensions (superclasses) and subclasses for a given class. Theobject contains information about how the relation is defined andmethods to coerce, test, and replace correspondingly. }\section{Objects from the Class}{Objects from this class are generated by \code{\link{setIs}},from direct calls and from the \code{contains=} information in a call to \code{\link{setClass}}, and from class unions created by \code{\link{setClassUnion}}.In the last case, the information is stored in defining the \emph{subclasses} of the union class (allowing unions to contain sealed classes).}\section{Slots}{\describe{\item{\code{subClass,superClass}:}{The classes being extended:corresponding to the \code{from}, and \code{to} arguments to \code{\link{setIs}}. }\item{\code{package}:}{The package to which that class belongs. }\item{\code{coerce}:}{A function to carry out the as() computationimplied by the relation. Note that these functions should\emph{not} be used directly. They only deal with the\code{strict=TRUE} calls to the \code{\link{as}} function, withthe full method constructed from this mechanically. }\item{\code{test}:}{The function that would test whether therelation holds. Except for explicitly specified \code{test}arguments to \code{\link{setIs}}, this function is trivial. }\item{\code{replace}:}{The method used to implement \code{as(x,Class) <- value}.}\item{\code{simple}:}{A \code{"logical"} flag, \code{TRUE} if thisis a simple relation, either because one class is contained in thedefinition of another, or because a class has been explicitlystated to extend a virtual class. For simple extensions, thethree methods are generated automatically.}\item{\code{by}:}{If this relation has been constructedtransitively, the first intermediate class from the subclass. }\item{\code{dataPart}:}{A \code{"logical"} flag, \code{TRUE} ifthe extended class is in fact the data part of the subclass. Inthis case the extended class is a basic class (i.e., a type). }\item{\code{distance}:}{The distance between the two classes,1 for directly contained classes, plus the number of generations between otherwise. } }}\section{Methods}{No methods defined with class \code{"SClassExtension"} in thesignature.}\seealso{\code{\link{is}},\code{\link{as}}, and\code{\link{classRepresentation-class}}.}\keyword{classes}