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

Rất “Classy”

Biến có thể có nhiều hơn một lớp. Khi đó, class() (tài liệu) sẽ trả về một vector ký tự có độ dài lớn hơn 1.

Tương tự, bạn có thể gán nhiều lớp bằng cách gán một vector ký tự cho class(). Hãy sắp xếp các lớp theo thứ tự từ cụ thể nhất đến tổng quát hơn từ trái sang phải, vì bạn muốn bắt đầu với hành vi phù hợp nhất cho đối tượng của mình. Ví dụ:

x <- c("a", "e", "i", "o", "u")
class(x) <- c("vowels", "letters", "character")

Bạn có thể kiểm tra các lớp khác bằng hàm đa dụng inherits() (tài liệu). Ví dụ:

inherits(x, "vowels")

Hướng dẫn

100 XP

Biến kitty đã được định nghĩa sẵn trong workspace của bạn.

  • Xem kitty bằng cách gõ tên của nó.
  • Gán các lớp "cat", "mammal", và "character" cho biến kitty.
  • Kiểm tra rằng kitty có các lớp "cat", rồi "mammal", rồi "character" (lần lượt, theo thứ tự đó) bằng inherits().
  • Kiểm tra rằng kitty vẫn là một vector ký tự bằng is.character().
  • Kiểm tra rằng kitty không có lớp "dog".