1. Học hỏi
  2. /
  3. Khoa Học
  4. /
  5. Lập trình hướng đối tượng với S3 và R6 trong R

Connected

Bài tập

Cuộc tấn công của các bản sao (1)

Các đối tượng R6 sử dụng hành vi sao chép theo tham chiếu giống như environment. Tức là, nếu bạn sao chép một đối tượng R6 bằng phép gán <-, thì thay đổi ở một đối tượng sẽ phản ánh ở các bản sao.

a_reference_copy <- an_r6_object

Đối tượng R6 có sẵn phương thức clone() được tạo tự động để tạo bản sao theo giá trị, nhờ đó thay đổi ở một bản sao sẽ không ảnh hưởng đến các bản còn lại.

a_value <- an_r6_object$clone()

Hướng dẫn

100 XP

Một nhà máy sản xuất lò vi sóng đã được định nghĩa sẵn trong workspace của bạn là microwave_oven_factory.

  • Tạo một đối tượng MicrowaveOven và gán vào a_microwave_oven.
  • Sao chép lò vi sóng vào biến assigned_microwave_oven bằng phép gán <-.
  • Sao chép lò vi sóng vào biến cloned_microwave_oven bằng phương thức clone() của a_microwave_oven.
  • Thay đổi trường power_level_watts của a_microwave_oven thành 400.
  • Xác minh rằng các trường power_level_watts của a_microwave_oven và assigned_microwave_oven là identical() (docs).
  • Xác minh rằng các trường power_level_watts của a_microwave_oven và cloned_microwave_oven không identical() (docs).