Задаємо клас Fancy Microwave Oven
Наслідування використовують, щоб поширювати — тобто копіювати — функціональність з одного класу на інший. Щоб створити дочірній клас на основі іншого, скористайтеся аргументом inherit у R6Class() (docs).
Шаблон створення дочірнього класу:
child_class_factory <- R6Class(
"ChildClass",
inherit = parent_class_factory
)
Ця вправа є частиною курсу
Об'єктно-орієнтоване програмування з S3 та R6 в R
Інструкції до вправи
Клас мікрохвильової печі вже визначено для вас у змінній microwave_oven_factory.
- Створіть клас
FancyMicrowaveOven, який наслідуєMicrowaveOven.- Викличте
R6Class()(docs). - Аргумент
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 <- ___