Get startedGet started for free

Specifying the Microwave Oven Class

To create R6 objects, you first have to create a class generator, sometimes known as a factory. These are created using the R6Class() (docs) function.

The first argument to R6Class() is the name of the class of the objects that are created. By convention, this is written in UpperCamelCase. Another argument to R6Class() is called private and holds the data fields for the object. This argument should be a list, with names for each of its elements.

Further arguments to R6Class() will be discussed in the coming exercises. The pattern for defining an object factory is as follows.

thing_factory <- R6Class(
  "Thing",
  private = list(
    a_field = "a value",
    another_field = 123
  )
)

This exercise is part of the course

Object-Oriented Programming with S3 and R6 in R

View Course

Exercise instructions

  • Define a factory for a microwave oven.
    • Call R6Class.
    • The class name should be "MicrowaveOven".
    • The private element should be a list.
    • That list should contain a single field, named power_rating_watts, taking the value 800.

Hands-on interactive exercise

Have a go at this exercise by completing this sample code.

# Define microwave_oven_factory
microwave_oven_factory <- ___(
  "___",
  ___ = ___(
    ___ = ___
  )
)
Edit and Run Code