ÎncepețiÎncepe gratuit

Suprascrierea capabilităților de gătit

Clasele copil pot extinde funcționalitatea și prin suprascrierea metodelor. Acest lucru se realizează definind metode cu același nume ca cele din clasa părinte.

Clasele copil pot accesa metodele publice ale clasei părinte prefixând numele cu super$.

Acest exercițiu face parte din cursul

Programare orientată pe obiecte cu S3 și R6 în R

Vezi cursul

Instrucțiuni pentru exercițiu

Un cuptor cu microunde a fost predefinit în spațiul tău de lucru.

  • Actualizează definiția clasei cuptorului cu microunde de lux pentru a include un element public.
  • Suprascrie metoda cook().
    • Metoda cook() trebuie să primească în continuare un argument time_seconds.
    • Trebuie să transmită argumentul time_seconds metodei cook() din clasa părinte, …
    • apoi să afișeze un message() suplimentar (docs) cu textul "Enjoy your dinner!".
  • Instanțiază un obiect de tip cuptor cu microunde de lux și atribuie-l variabilei a_fancy_microwave.
  • Apelează metoda cook() pentru o secundă.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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
___
Editează și rulează codul