1. Nauka
  2. /
  3. Kursy
  4. /
  5. Programowanie obiektowe z S3 i R6 w R

Connected

ćwiczenie

Nauka gotowania

Trzeci argument funkcji R6Class() nosi nazwę public i przechowuje funkcjonalność obiektu dostępną dla użytkownika. Powinien być listą, w której każdy element ma swoją nazwę.

Element public klasy R6 zawiera funkcjonalność dostępną dla użytkownika. Zazwyczaj składa się wyłącznie z funkcji.

Zaktualizowany wzorzec tworzenia generatora klas R6 wygląda następująco:

thing_factory <- R6Class(
  "Thing",
  private = list(
    a_field = "a value",
    another_field = 123
  ),
  public = list(
    do_something = function(x, y, z) {
      # Do something here
    }
  )
)

Instrukcje

100 XP

Fabryka kuchenki mikrofalowej została częściowo zdefiniowana.

  • Zaktualizuj element public definicji, dodając metodę cook.
    • Metoda cook jest funkcją.
    • Powinna przyjmować jeden argument o nazwie time_seconds, określający czas gotowania.
    • W ciele metody cook przekaż time_seconds do Sys.sleep() (dokumentacja), która wstrzymuje działanie na podany czas.
    • Na koniec metoda cook powinna wywołać print() (dokumentacja) z ciągiem znaków "Your food is cooked!".
  • Utwórz obiekt kuchenki mikrofalowej o nazwie a_microwave_oven, korzystając z metody new() fabryki microwave_oven_factory.
  • Wywołaj metodę cook() obiektu a_microwave_oven z czasem gotowania 1 sekundy.