【发布时间】:2015-02-06 14:10:02
【问题描述】:
我有一个引用类Child,它继承自父母SuperA 和SuperB。在Child的initialize方法中,我想依次调用SuperA和SuperB的initialize方法。
因此,例如,我有:
SuperA <- setRefClass("SuperA",
fields = list(a = "ANY"),
methods = list(
initialize = function(a) {
print(a)
initFields(a = a)
}
)
)
SuperB <- setRefClass("SuperB",
fields = list(b = "ANY"),
methods = list(
initialize = function(b) {
print(b)
initFields(b = b)
}
)
)
Child <- setRefClass("Child",
contains = c("SuperA", "SuperB"),
methods = list(
initialize = function(a, b) {
# attempt to invoke parent constructors one by one:
SuperA$callSuper(a)
SuperB$callSuper(b)
}
)
)
Child(1, 2) # want values 1 and 2 to be printed during construction of superclasses
但我得到的只是:
Error in print(a) : argument "a" is missing, with no default
那么有人对如何调用属于特定父级的方法有任何想法吗?
【问题讨论】:
标签: r oop inheritance multiple-inheritance reference-class