Začněte nyníZačněte zdarma

Přepsání schopností vaření

Podřízené třídy mohou rozšiřovat funkčnost také přepisováním metod. Stačí definovat metody se stejným názvem, jaký má metoda v nadřazené třídě.

Podřízené třídy mají přístup k veřejným metodám své nadřazené třídy pomocí prefixu super$.

Toto cvičení je součástí kurzu

Objektově orientované programování s S3 a R6 v R

Zobrazit kurz

Pokyny k cvičení

V tvém pracovním prostoru je předdefinovaná mikrovlnná trouba.

  • Doplň definici třídy pro luxusní mikrovlnnou troubu o veřejný element.
  • Přepiš metodu cook().
    • Metoda cook by měla stále přijímat argument time_seconds.
    • Měla by předat argument time_seconds metodě cook() nadřazené třídy, …
    • a pak zobrazit dodatečnou zprávu pomocí message() (docs) s textem "Enjoy your dinner!".
  • Vytvoř instanci objektu luxusní mikrovlnné trouby a přiřaď ji do proměnné a_fancy_microwave.
  • Zavolej metodu cook() na jednu sekundu.

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 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
___
Upravit a spustit kód