Extinderea Capabilităților de Gătire
Clasa copil poate extinde funcționalitatea clasei părinte adăugând metode publice cu nume diferite față de cele disponibile în clasa părinte.
Metodele publice pot apela alte metode publice prefixând numele acestora cu self$.
Acest exercițiu face parte din cursul
Programare orientată pe obiecte cu S3 și R6 în R
Instrucțiuni pentru exercițiu
Un cuptor cu microunde a fost predefinit în spațiul tău de lucru.
- Extinde definiția clasei cuptorului cu microunde fancy pentru a include un element
public. - Adaugă o metodă publică
cook_baked_potato().- Aceasta nu ar trebui să primească niciun argument.
- În corp, ar trebui să apeleze propria metodă
cook()timp de 3 secunde.
- Creează un obiect
FancyMicrowaveOvenși atribuie-l variabileia_fancy_microwave. - Apelează metoda
cook_baked_potato()a obiectuluia_fancy_microwave.
Atenție: Nu încerca să mănânci cartofi copți după ce au fost gătiți doar 3 secunde — vor avea un gust îngrozitor și riști o toxiinfecție alimentară.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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
___