Sovrascrivere le capacità di cottura
Le classi figlie possono anche estendere le funzionalità sovrascrivendo i metodi. Per farlo definiscono metodi con lo stesso nome di quelli della classe genitore.
Le classi figlie possono accedere ai metodi pubblici della classe genitore anteponendo super$ al nome del metodo.
Questo esercizio fa parte del corso
Programmazione orientata agli oggetti con S3 e R6 in R
Istruzioni dell'esercizio
Un forno a microonde è già stato predefinito nel tuo workspace.
- Aggiorna la definizione della classe di microonde avanzato per includere un elemento pubblico.
- Sovrascrivi il metodo
cook().- Il metodo deve ancora accettare l'argomento
time_seconds. - Deve passare l'argomento
time_secondsal metodocook()della classe genitore, … - poi mostrare un ulteriore
message()(docs) con il testo"Enjoy your dinner!".
- Il metodo deve ancora accettare l'argomento
- Istanzia un oggetto microonde avanzato e assegnalo a
a_fancy_microwave. - Chiama il metodo
cook()per un secondo.
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
# 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
___