Sangat Berkelas
Variabel dapat memiliki lebih dari satu kelas. Dalam kasus ini, class() (docs) mengembalikan vektor karakter dengan panjang lebih dari satu.
Demikian pula, Anda dapat menetapkan beberapa kelas dengan memberikan vektor karakter ke class(). Urutkan kelas dari yang lebih spesifik ke yang lebih umum dari kiri ke kanan, karena Anda ingin memulai dengan perilaku yang paling sesuai dengan objek Anda. Contohnya:
x <- c("a", "e", "i", "o", "u")
class(x) <- c("vowels", "letters", "character")
Anda dapat memeriksa kelas lainnya menggunakan fungsi serbaguna inherits() (docs). Contohnya:
inherits(x, "vowels")
Latihan ini adalah bagian dari kursus
Pemrograman Berorientasi Objek dengan S3 dan R6 di R
Petunjuk latihan
Variabel kitty telah didefinisikan sebelumnya di ruang kerja Anda.
- Lihat
kittydengan mengetikkan namanya. - Tetapkan kelas
"cat","mammal", dan"character"ke variabelkitty. - Periksa bahwa
kittymemiliki kelas"cat", lalu"mammal","character"(satu per satu, dalam urutan tersebut) menggunakaninherits(). - Periksa bahwa
kittymasih berupa vektor karakter menggunakanis.character(). - Periksa bahwa
kittytidak memiliki kelas"dog".
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# View the kitty
kitty
# Assign classes
___ <- ___
# Does kitty inherit from cat/mammal/character?
inherits(___, "___")
___
___
# Is kitty a character vector?
___
# Does kitty inherit from dog?
___