Я пытаюсь изучить ООП в R с объектами R6.У меня есть проблема, которая может показаться легкой, но я не могу понять, как это сделать.Мы ценим любую помощьвыполнять расчеты по всей матрице характеристик «Студент», например, умножить все оценки «Студент» на несколько весов.
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))
Теперь я хотел бы иметь композицию Энн и Джона и иметь возможность одновременно выполнять mult.by.vector на обоих.
Должен ли я использовать наследование?Или просто какой-то список?
* На самом деле мое приложение сильно отличается, но проблема более или менее та же.