【问题标题】:show parent class in R object在 R 对象中显示父类
【发布时间】:2016-06-23 03:00:42
【问题描述】:

我在 R 中使用默认包 methods 来定义我的面向对象结构,我正在尝试找出如何获取我的对象包含的类的列表。

例如,假设我的类 def 如下:

Tr1 = setRefClass("Tr1", contains = "Tr2")

我定义了一个对象tr_ex = Tr1(),我怎样才能得到tr_ex包含哪个类?..我可以试试is(tr_ex,"Tr2"),但效率不高。

谢谢!

【问题讨论】:

  • class(<object>) 返回对象的类,但不返回继承结构;但是,在大多数情况下,您可以推断出这一点。

标签: r oop inheritance methods


【解决方案1】:

在您的对象类上调用getClassDef。例如:

Tr2 <- setRefClass("Tr2", list(x="numeric"))
Tr1 <- setRefClass("Tr1", contains="Tr2")
tr_ex <- Tr1()
getClassDef(class(tr_ex))

Reference Class "Tr1":

Class fields:

Name:        x
Class: numeric

Class Methods: 
     "import", ".objectParent", "usingMethods", "show", "getClass", "untrace", 
     "export", ".objectPackage", "callSuper", "copy", "initFields", 
     "getRefClass", "trace", "field"

Reference Superclasses: 
     "Tr2", "envRefClass"

在这种情况下,您所关注的特定插槽是 @refSuperClasses

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-08-16
    • 2023-03-22
    • 2012-05-21
    • 2022-01-05
    • 1970-01-01
    • 2022-10-14
    • 1970-01-01
    相关资源
    最近更新 更多