Definice třídy FancyMicrowaveOven
Dědičnost slouží k přenosu—tedy zkopírování—funkcionality z jedné třídy do druhé. Chceš-li vytvořit potomka existující třídy, použij argument inherit funkce R6Class() (docs).
Vzor pro vytvoření potomka vypadá takto:
child_class_factory <- R6Class(
"ChildClass",
inherit = parent_class_factory
)
Toto cvičení je součástí kurzu
Objektově orientované programování s S3 a R6 v R
Pokyny k cvičení
V proměnné microwave_oven_factory je pro tebe připravena třída mikrovlnné trouby.
- Vytvoř třídu
FancyMicrowaveOven, která dědí od třídyMicrowaveOven.- Zavolej
R6Class()(docs). - Argument
classnamenastav na"FancyMicrowaveOven". - Argument
inheritnastav namicrowave_oven_factory. - Výsledek přiřaď do proměnné
fancy_microwave_oven_factory. Zatím žádnou další funkcionalitu nepřidávej.
- Zavolej
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# Explore the microwave oven class
microwave_oven_factory
# Define a fancy microwave class inheriting from microwave oven
fancy_microwave_oven_factory <- ___