学做菜
R6Class() 的第三个参数名为 public,用于放置对象面向用户的功能。该参数应是一个列表,并为每个元素命名。
R6 类的 public 元素包含对用户可用的功能。通常只包含函数。
创建 R6 类生成器的更新范式如下:
thing_factory <- R6Class(
"Thing",
private = list(
a_field = "a value",
another_field = 123
),
public = list(
do_something = function(x, y, z) {
# Do something here
}
)
)
本练习是课程的一部分
R 中的 S3 与 R6 面向对象编程
练习说明
已经为您部分定义了一个微波炉工厂。
- 更新定义中的
public元素,加入一个cook方法。 - 使用
microwave_oven_factory的new()方法创建一个名为a_microwave_oven的微波炉对象。 - 调用
a_microwave_oven的cook()方法,加热 1 秒。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Add a cook method to the factory definition
microwave_oven_factory <- R6Class(
"MicrowaveOven",
private = list(
power_rating_watts = 800
),
public = list(
___ = ___(___) {
___
___
}
)
)
# Create microwave oven object
a_microwave_oven <- ___
# Call cook method for 1 second
___