指定一個進階微波爐
繼承用來「傳遞」(也就是複製)功能,讓一個類別的功能延伸到另一個類別。若要從某個類別建立子類別,請在 R6Class()(說明文件)中使用 inherit 引數。
建立子類別的基本範例為:
child_class_factory <- R6Class(
"ChildClass",
inherit = parent_class_factory
)
本練習屬於課程
在 R 中使用 S3 與 R6 的物件導向程式設計
練習說明
我們已經替你定義好一個微波爐類別,存在變數 microwave_oven_factory。
- 建立一個會繼承自
MicrowaveOven的FancyMicrowaveOven類別。- 呼叫
R6Class()(說明文件)。 classname引數設為"FancyMicrowaveOven"。inherit引數設為microwave_oven_factory。- 把結果指定給變數
fancy_microwave_oven_factory。先不要加入任何額外功能。
- 呼叫
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Explore the microwave oven class
microwave_oven_factory
# Define a fancy microwave class inheriting from microwave oven
fancy_microwave_oven_factory <- ___