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

Connected

Exercise

Học nấu ăn

Đối số thứ ba của R6Class() là public và chứa các chức năng hướng tới người dùng của đối tượng. Đối số này phải là một list, với tên cho từng phần tử của nó.

Phần public của một lớp R6 chứa các chức năng sẵn có cho người dùng. Thông thường nó chỉ bao gồm các hàm.

Mẫu cập nhật để tạo một bộ sinh lớp (class generator) R6 như sau:

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

Instructions

100 XP

Một xưởng (factory) tạo lò vi sóng đã được định nghĩa một phần cho bạn.

  • Cập nhật phần public của định nghĩa để bao gồm một phương thức cook.
    • Phương thức cook là một hàm.
    • Nó cần có một đối số tên là time_seconds để biểu thị thời gian nấu.
    • Trong phần thân của phương thức cook, bạn nên truyền time_seconds vào Sys.sleep() (docs), hàm này sẽ không làm gì trong khoảng thời gian đã chỉ định.
    • Cuối cùng, phương thức cook nên print() (docs) chuỗi "Your food is cooked!"
  • Tạo một đối tượng lò vi sóng tên là a_microwave_oven bằng phương thức new() của microwave_oven_factory.
  • Gọi phương thức cook() của a_microwave_oven trong 1 giây.