指定 Microwave Oven 類別
要建立 R6 物件,你首先需要建立一個「類別產生器」(有時也稱為「工廠」)。這可以用 R6Class()(docs)函式來建立。
R6Class() 的第一個引數是要建立的物件所屬的類別名稱。按照慣例,會使用 UpperCamelCase。R6Class() 的另一個引數是 private,用來存放物件的資料欄位。這個引數應該是一個 list,且為其中每個元素命名。
接下來的練習會介紹 R6Class() 的其他引數。定義物件工廠的範例如下。
thing_factory <- R6Class(
"Thing",
private = list(
a_field = "a value",
another_field = 123
)
)
本練習屬於課程
在 R 中使用 S3 與 R6 的物件導向程式設計
練習說明
- 定義一個微波爐的工廠。
- 呼叫
R6Class。 - 類別名稱應為
"MicrowaveOven"。 private元素必須是list。- 該 list 應只包含一個欄位,名稱為
power_rating_watts,其值為800。
- 呼叫
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Define microwave_oven_factory
microwave_oven_factory <- ___(
"___",
___ = ___(
___ = ___
)
)