CommencezCommencez gratuitement

É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

Voir le cours

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 FancyMicrowaveOven et assignez-le à a_fancy_microwave.
  • Appelez la méthode cook_baked_potato() de a_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
___
Modifier et exécuter le code