Kom igångKom igång gratis

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

Visa kurs

Övningsinstruktioner

  • Definiera en factory för en mikrovågsugn.
    • Anropa R6Class.
    • Klassnamnet ska vara "MicrowaveOven".
    • Elementet private ska vara en list.
    • Den listan ska innehålla ett enda fält med namnet power_rating_watts och värdet 800.

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 <- ___(
  "___",
  ___ = ___(
    ___ = ___
  )
)
Redigera och kör kod