Zacznij terazZacznij za darmo

Nadpisywanie możliwości gotowania

Klasy potomne mogą rozszerzać funkcjonalność, nadpisując metody. Polega to na zdefiniowaniu metod o tej samej nazwie co metody klasy nadrzędnej.

Klasy potomne mogą uzyskiwać dostęp do publicznych metod klasy nadrzędnej, poprzedzając ich nazwę prefiksem super$.

To ćwiczenie jest częścią kursu

Programowanie obiektowe z S3 i R6 w R

Zobacz kurs

Instrukcje do ćwiczenia

W twoim środowisku roboczym została z góry zdefiniowana kuchenka mikrofalowa.

  • Zaktualizuj definicję klasy fancy microwave oven, dodając do niej element publiczny.
  • Nadpisz metodę cook().
    • Metoda cook powinna nadal przyjmować argument time_seconds.
    • Powinna przekazywać argument time_seconds do metody cook() klasy nadrzędnej, …
    • a następnie wyświetlać dodatkowy komunikat message() (dokumentacja) o treści "Enjoy your dinner!".
  • Utwórz instancję obiektu fancy microwave oven i przypisz ją do zmiennej a_fancy_microwave.
  • Wywołaj metodę cook() z argumentem jednej sekundy.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# Explore microwave oven class
microwave_oven_factory

# Update the class definition
fancy_microwave_oven_factory <- R6Class(
  "FancyMicrowaveOven",
  inherit = microwave_oven_factory,
  # Add a public list with a cook method
  ___ = ___(
    ___ = ___
    
    
    
  )
)

# Instantiate a fancy microwave
a_fancy_microwave <- ___

# Call the cook() method
___
Edytuj i uruchom kod