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

Connected

ćwiczenie

Atak klonów (1)

Obiekty R6 działają tak samo jak środowiska – kopiują się przez referencję. Oznacza to, że jeśli skopiujesz obiekt R6 za pomocą przypisania <-, zmiany wprowadzone w jednym obiekcie będą widoczne również w kopiach.

a_reference_copy <- an_r6_object

Obiekty R6 mają automatycznie generowaną metodę clone(), która tworzy kopię przez wartość – dzięki temu zmiany w jednej kopii nie wpływają na pozostałe.

a_value <- an_r6_object$clone()

Instrukcje

100 XP

W twoim środowisku pracy jest już zdefiniowana fabryka kuchenek mikrofalowych – microwave_oven_factory.

  • Utwórz obiekt MicrowaveOven i przypisz go do zmiennej a_microwave_oven.
  • Skopiuj kuchenkę do zmiennej assigned_microwave_oven za pomocą przypisania <-.
  • Skopiuj kuchenkę do zmiennej cloned_microwave_oven, używając metody clone() na obiekcie a_microwave_oven.
  • Zmień wartość pola power_level_watts obiektu a_microwave_oven na 400.
  • Sprawdź, czy pola power_level_watts obiektów a_microwave_oven i assigned_microwave_oven są identical() (dokumentacja).
  • Sprawdź, czy pola power_level_watts obiektów a_microwave_oven i cloned_microwave_oven nie są identical() (dokumentacja).