Étendre les capacités de cuisson
La classe enfant peut étendre les fonctionnalités de la classe parente en ajoutant d’autres méthodes publiques dont les noms diffèrent de celles disponibles dans la classe parente.
Les méthodes publiques peuvent appeler d’autres méthodes publiques en préfixant leur nom par self$.
Cet exercice fait partie du cours
Programmation orientée objet avec S3 et R6 en R
Instructions
Un four à micro-ondes a été préconfiguré dans votre espace de travail.
- Étendez la définition de la classe de four à micro-ondes sophistiqué pour inclure un élément
public. - Ajoutez une méthode publique
cook_baked_potato().- Elle ne doit prendre aucun argument.
- Dans le corps, elle doit appeler sa propre méthode
cook()pendant 3 secondes.
- Créez un objet
FancyMicrowaveOvenet assignez-le àa_fancy_microwave. - Appelez la méthode
cook_baked_potato()dea_fancy_microwave.
Avertissement : n’essayez pas de manger des pommes de terre au four après les avoir cuites pendant 3 secondes ; elles auront un goût horrible et vous pourriez souffrir d’une intoxication alimentaire.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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
___