Inizia subitoInizia gratis

Ampliare le capacità di cottura

La classe figlia può estendere la funzionalità della classe genitore aggiungendo ulteriori metodi pubblici con nomi diversi da quelli disponibili nella classe genitore.

I metodi pubblici possono chiamare altri metodi pubblici anteponendo al loro nome self$.

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 è stato predefinito nel tuo workspace.

  • Estendi la definizione della classe del fornetto a microonde "fancy" per includere un elemento public.
  • Aggiungi un metodo pubblico cook_baked_potato().
    • Non deve accettare argomenti.
    • Nel corpo, deve chiamare il proprio metodo cook() per 3 secondi.
  • Crea un oggetto FancyMicrowaveOven e assegnalo a a_fancy_microwave.
  • Chiama il metodo cook_baked_potato() di a_fancy_microwave.

Attenzione: non provare a mangiare patate al cartoccio dopo che sono state cotte per 3 secondi: avranno un sapore terribile e potresti rischiare un'intossicazione alimentare.

esercizio interattivo pratico

Prova questo esercizio completando questo codice di esempio.

# 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
___
Modifica ed esegui il codice