當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


R selectSuperClasses 類的超類(特定類型)

R語言 selectSuperClasses 位於 methods 包(package)。

說明

返回 ClassDef 的超類,可能隻是非虛擬的、直接的或簡單的。

這些函數設計得很快,因此隻能與相應類定義的 contains 槽一起使用。

用法

selectSuperClasses(Class, dropVirtual = FALSE, namesOnly = TRUE,
                   directOnly = TRUE, simpleOnly = directOnly,
                   where = topenv(parent.frame()))

.selectSuperClasses(ext, dropVirtual = FALSE, namesOnly = TRUE,
                    directOnly = TRUE, simpleOnly = directOnly)

參數

Class

類的名稱或(更有效)類定義對象的名稱(請參閱 getClass )。

dropVirtual

邏輯指示是否僅應返回非虛擬超類。

namesOnly

邏輯指示是否僅應返回向量名稱而不是命名列表class-extensions。

directOnly

邏輯指示是否僅應返回直接超類。

simpleOnly

邏輯指示是否僅應返回簡單的類擴展。

where

(僅當Class不是類定義時使用)找到Class的類定義的環境。

ext

僅適用於 .selectSuperClasses(),類擴展的 list,通常為 getClassDef(..)@contains

character 向量(如果 namesOnly 為 true,則默認)或類擴展列表(作為 getClass 結果中的 contains 槽)。

注意

典型的用戶級函數是selectSuperClasses(),它調用.selectSuperClasses();即,出於效率原因,經驗豐富的用戶隻能使用後者。

例子

setClass("Root")
setClass("Base", contains = "Root", slots = c(length = "integer"))
setClass("A", contains = "Base", slots = c(x = "numeric"))
setClass("B", contains = "Base", slots = c(y = "character"))
setClass("C", contains = c("A", "B"))

extends("C")   #-->  "C"  "A" "B"  "Base" "Root"
selectSuperClasses("C") # "A" "B"
selectSuperClasses("C", directOnly=FALSE) # "A" "B"  "Base"  "Root"
selectSuperClasses("C", dropVirtual=TRUE, directOnly=FALSE)# ditto w/o "Root"

也可以看看

isgetClass;此外,更多技術類classRepresentation 文檔。

相關用法


注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Super Classes (of Specific Kinds) of a Class。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。