Étendre les capacités de cuisson
La classe enfant peut étendre la fonctionnalité de la classe parente en ajoutant d'autres méthodes publiques portant des noms qui diffèrent de celles offertes par la classe parente.
Les méthodes publiques peuvent appeler d'autres méthodes publiques en préfixant leur nom par self$.
Cette activité fait partie du cours
Programmation orientée objet avec S3 et R6 en R
Instructions de l’exercice
Un four à micro-ondes a été préconfiguré dans votre espace de travail.
- Étendez la définition de la classe du four à micro-ondes évolué pour inclure un élément
public. - Ajoutez une méthode publique
cook_baked_potato().- Elle ne doit prendre aucun argument.
- Dans son 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 seulement 3 secondes de cuisson, elles auront un goût affreux et vous pourriez souffrir d'une intoxication alimentaire.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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
___