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
Ö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 tilla_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
___