R手册(Common)--R6 and S4

R 主要面向统计计算,似乎很少会用到面向对象的编程方法。但在统计计算中,在下列情形中使用面向对象的编程方法可以编程更有效率。

R 的面向对象 (OOP) 是基于泛型函数 (generic function) 的,而不是基于类层次结构

1
2
3
4
library(R6)


R6Class(classname = NULL, public = list(), private = NULL,active = NULL, inherit = NULL, lock = TRUE, class = TRUE,portable = TRUE, parent_env = parent.frame())

参数列表:

classname:定义类名。
public:定义公有成员,包括公有方法和属性。
privat:定义私有成员,包括私有方法和属性。
active :主动绑定的函数列表。
inherit:定义父类,继承关系。
lock:是否上锁,如果上锁则用于类变量存储的环境空间被锁定
class:是否把属性封装成对象,默认是封装,如果选择不封装,类中属性存存在一个环境空间中。
portable:是否为可移植类型,默认是可移植型类,类中成员访问需要用调用self和private对象。
parent_env:定义对象的父环境空间。

1
2
3
`$new()` # 实例化函数
`$set()` # R6类的动态绑定
`print()` # 输出R6默认方法

面向对象S4类

大专栏  R手册(Common)--R6 and S4"#自定义s4类">

上一篇:使用redis问题记录


下一篇:《构建中小型网络实训》实训课程