CommencezCommencez gratuitement

Redéfinir les capacités de cuisson

Les classes enfants peuvent aussi étendre les fonctionnalités en redéfinissant des méthodes. Pour ce faire, elles définissent des méthodes ayant le même nom que celles du parent.

Les classes enfants peuvent accéder aux méthodes publiques de leur classe parente en préfixant le nom par super$.

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édefini dans votre espace de travail.

  • Mettez à jour la définition de la classe du four à micro-ondes sophistiqué pour inclure un élément public.
  • Redéfinissez la méthode cook().
    • La méthode cook doit toujours prendre un argument time_seconds.
    • Elle doit transmettre l'argument time_seconds à la méthode cook() de la classe parente, …
    • puis afficher un message() (docs) indiquant "Enjoy your dinner!".
  • Instanciez un objet de four à micro-ondes sophistiqué et assignez-le à a_fancy_microwave.
  • Appelez la méthode cook() pour une seconde.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# 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
___
Modifier et exécuter le code