Definiera klassen MicrowaveOven
För att skapa R6-objekt behöver du först skapa en klassgenerator, som ibland kallas factory. Dessa skapas med funktionen R6Class() (docs).
Det första argumentet till R6Class() är namnet på klassen för de objekt som skapas. Enligt konvention skrivs detta i UpperCamelCase. Ett annat argument till R6Class() heter private och innehåller objektets datafält. Det argumentet ska vara en lista med namn för vart och ett av dess element.
Ytterligare argument till R6Class() behandlas i kommande övningar. Mönstret för att definiera en objektfactory ser ut så här.
thing_factory <- R6Class(
"Thing",
private = list(
a_field = "a value",
another_field = 123
)
)
Den här övningen är en del av kursen
Objektorienterad programmering med S3 och R6 i R
Övningsinstruktioner
- Definiera en factory för en mikrovågsugn.
- Anropa
R6Class. - Klassnamnet ska vara
"MicrowaveOven". - Elementet
privateska vara enlist. - Den listan ska innehålla ett enda fält med namnet
power_rating_wattsoch värdet800.
- Anropa
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# Define microwave_oven_factory
microwave_oven_factory <- ___(
"___",
___ = ___(
___ = ___
)
)