Definiowanie klasy FancyMicrowaveOven
Dziedziczenie pozwala przenosić – czyli kopiować – funkcjonalność z jednej klasy do drugiej. Aby utworzyć klasę podrzędną na podstawie innej klasy, użyj argumentu inherit w funkcji R6Class() (dokumentacja).
Schemat tworzenia klasy podrzędnej wygląda następująco:
child_class_factory <- R6Class(
"ChildClass",
inherit = parent_class_factory
)
To ćwiczenie jest częścią kursu
Programowanie obiektowe z S3 i R6 w R
Instrukcje do ćwiczenia
W zmiennej microwave_oven_factory zdefiniowano już klasę kuchenki mikrofalowej.
- Utwórz klasę
FancyMicrowaveOven, która dziedziczy po klasieMicrowaveOven.- Wywołaj funkcję
R6Class()(dokumentacja). - Argument
classnamepowinien mieć wartość"FancyMicrowaveOven". - Argument
inheritpowinien wskazywać namicrowave_oven_factory. - Przypisz wynik do zmiennej
fancy_microwave_oven_factory. Na razie nie dodawaj żadnej dodatkowej funkcjonalności.
- Wywołaj funkcję
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Explore the microwave oven class
microwave_oven_factory
# Define a fancy microwave class inheriting from microwave oven
fancy_microwave_oven_factory <- ___