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

Rozšíření možností vaření

Potomek může rozšířit funkčnost rodiče přidáním dalších veřejných metod s názvy, které se liší od těch dostupných v rodičovské třídě.

Verejné metody mohou volat jiné veřejné metody tak, že před jejich název přidáš self$.

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ředem definovaná mikrovlnná trouba.

  • Rozšiř definici třídy fancy mikrovlnné trouby o element public.
  • Přidej veřejnou metodu cook_baked_potato().
    • Metoda by neměla přijímat žádné argumenty.
    • V těle metody by měla volat vlastní metodu cook() po dobu 3 sekund.
  • Vytvoř objekt FancyMicrowaveOven a přiřaď ho do proměnné a_fancy_microwave.
  • Zavolej metodu cook_baked_potato() objektu a_fancy_microwave.

Upozornění: Nepokušej se jíst pečené brambory uvařené za 3 sekundy — budou chutnat hrozně a hrozí otrava jídlem.

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

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

# Instantiate a fancy microwave
a_fancy_microwave <- ___

# Call the cook_baked_potato() method
___
Upravit a spustit kód