Ampliar las capacidades de cocción
La clase hija puede ampliar la funcionalidad de la clase padre añadiendo más métodos públicos con nombres distintos a los disponibles en la clase padre.
Los métodos públicos pueden llamar a otros métodos públicos anteponiendo su nombre con self$.
Este ejercicio forma parte del curso
Programación orientada a objetos con S3 y R6 en R
Instrucciones del ejercicio
Ya tienes un microondas predefinido en tu espacio de trabajo.
- Amplía la definición de la clase de microondas elegante para incluir un elemento
public. - Añade un método público
cook_baked_potato().- No debe recibir argumentos.
- En el cuerpo, debe llamar a su propio método
cook()durante 3 segundos.
- Crea un objeto
FancyMicrowaveOveny asígnalo aa_fancy_microwave. - Llama al método
cook_baked_potato()dea_fancy_microwave.
Aviso: No intentes comer patatas asadas tras haberlas cocinado durante 3 segundos: sabrán fatal y podrías sufrir una intoxicación alimentaria.
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
# 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
___