Sobrescribir las capacidades de cocinado
Las clases hijas también pueden ampliar la funcionalidad sobrescribiendo métodos. Lo hacen definiendo métodos con el mismo nombre que en la clase padre.
Las clases hijas pueden acceder a métodos públicos de su clase padre anteponiendo super$ al nombre.
Este ejercicio forma parte del curso
Programación orientada a objetos con S3 y R6 en R
Instrucciones del ejercicio
En tu espacio de trabajo ya hay un microondas predefinido.
- Actualiza la definición de la clase de microondas elegante para que incluya un elemento público.
- Sobrescribe el método
cook().- El método
cookdebe seguir recibiendo un argumentotime_seconds. - Debe pasar el argumento
time_secondsal métodocook()de la clase padre, … - y después mostrar un
message()(docs) con el texto"Enjoy your dinner!".
- El método
- Instancia un objeto de microondas elegante y asígnalo a
a_fancy_microwave. - Llama al método
cook()durante un segundo.
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
# 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
___