Inizia subitoInizia gratis

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

Visualizza corso

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_seconds al metodo cook() della classe genitore, …
    • poi mostrare un ulteriore message() (docs) con il testo "Enjoy your dinner!".
  • 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
___
Modifica ed esegui il codice