CommencerCommencer gratuitement

É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

Afficher le cours

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