R中R6对象的组成

时间:2018-06-07 08:04:51

标签: r class oop object

我正在尝试用R6对象学习R中的OOP。我有一个看似简单的问题,但无法弄清楚如何做到这一点。任何帮助表示赞赏

假设我有一个对象类,说“学生”有一些数字特征,例如: *我希望有这样的对象的组合,比如“课堂”,并且能够对整个“学生”特征矩阵进行计算,例如将所有“学生”成绩乘以一些权重。

Student <- R6Class(
  "Student",
  public = list(
    grades = NULL, 
    initialize = function(grades) {
      if(!missing(grades)) {self$grades <- grades}
    },
    mult.by.vector = function(v){
      newgrades <- self$grades*v
      return(Student$new(grades=newgrades)
      )
    }
  )
)

John<-Student$new(c(4,5,5))
John$mult.by.vector(c(1.1,1.2,0.9))

Ann<-Student$new(c(5,4,4))

现在,我希望有一个Ann和John的作文,并且能够同时在两者上执行mult.by.vector。

我应该使用继承吗?或者只是一些清单?

*实际上,我的应用程序非常不同,但问题或多或少相同。

0 个答案:

没有答案