【发布时间】:2015-05-26 02:31:06
【问题描述】:
在 S4 中我可能会这样做:
setClass(
"test", slots=c(a="integer"),
validity=function(object) if(length(object@a) != 1L) "not scalar" else TRUE
)
参考类的等价物是什么?我在引用类的上下文中找不到对有效性函数的任何引用。我必须依赖定义 setter 类吗?尽管基于参考类文档中的此评论:
许多使用 OOP 编程范式的系统推荐或强制执行与每个字段对应的 getter 和 setter 方法,而不是通过名称直接访问。如果你喜欢这种风格并且想通过 x$getAbc() 提取一个名为 abc 的字段并通过 x$setAbc(value) 分配它,那么 $accessors 方法是一个方便的函数,它为指定的字段创建这样的 getter 和 setter 方法。 否则没有理由使用这种机制。
似乎应该有另一种方式。
【问题讨论】: