Kom igångKom igång gratis

Utöka tillagningsfunktionaliteten

En barnklass kan utöka föräldraklassens funktionalitet genom att lägga till ytterligare publika metoder med namn som skiljer sig från dem som finns i föräldraklassen.

Publika metoder kan anropa andra publika metoder genom att sätta self$ före deras namn.

Den här övningen är en del av kursen

Objektorienterad programmering med S3 och R6 i R

Visa kurs

Övningsinstruktioner

En mikrovågsugn har fördefinieras i din arbetsmiljö.

  • Utöka definitionen av klassen för den fancy mikrovågsugnen så att den inkluderar ett public-element.
  • Lägg till en publik cook_baked_potato()-metod.
    • Den ska inte ta några argument.
    • I metodkroppen ska den anropa sin egen cook()-metod i 3 sekunder.
  • Skapa ett FancyMicrowaveOven-objekt och tilldela det till a_fancy_microwave.
  • Anropa cook_baked_potato()-metoden på a_fancy_microwave.

Varning: Försök inte äta bakade potatisar som bara tillagats i 3 sekunder – de kommer att smaka illa och du riskerar matförgiftning.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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
___
Redigera och kör kod