| % File src/library/methods/man/SClassExtension-class.Rd |
| % Part of the R package, https://www.R-project.org |
| % Copyright 1995-2013 R Core Team |
| % Distributed under GPL 2 or later |
| |
| \name{SClassExtension-class} |
| \docType{class} |
| \alias{SClassExtension-class} |
| \title{Class to Represent Inheritance (Extension) Relations } |
| \description{ An object from this class represents a single \sQuote{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. } |
| \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}, \code{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() computation |
| implied 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, with |
| the full method constructed from this mechanically. } |
| \item{\code{test}:}{The function that would test whether the |
| relation 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 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.} |
| \item{\code{by}:}{If this relation has been constructed |
| transitively, the first intermediate class from the subclass. } |
| \item{\code{dataPart}:}{A \code{"logical"} flag, \code{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). } |
| \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 the |
| signature. |
| } |
| \seealso{ |
| \code{\link{is}}, |
| \code{\link{as}}, and the |
| \code{\linkS4class{classRepresentation}} class. |
| } |
| \keyword{classes} |