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

Connected

ćwiczenie

Klasa wyższa

Zmienne mogą mieć więcej niż jedną klasę. W takim przypadku funkcja class() (docs) zwraca wektor znakowy o długości większej niż jeden.

Wielu klas możesz też przypisać jednocześnie, przekazując do class() wektor znakowy. Klasy należy uporządkować od bardziej szczegółowych do bardziej ogólnych – od lewej do prawej – ponieważ chcesz zaczynać od zachowania najbardziej dopasowanego do danego obiektu. Na przykład:

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

Do sprawdzenia pozostałych klas służy ogólna funkcja inherits() (docs). Na przykład:

inherits(x, "vowels")

Instrukcje

100 XP

Zmienna kitty jest już zdefiniowana w twoim środowisku.

  • Wyświetl wartość kitty, wpisując jej nazwę.
  • Przypisz zmiennej kitty klasy "cat", "mammal" oraz "character".
  • Sprawdź, czy kitty ma klasę "cat", "mammal" i "character" (po jednej na raz, w tej kolejności) za pomocą inherits().
  • Sprawdź, czy kitty nadal jest wektorem znakowym, używając is.character().
  • Sprawdź, że kitty nie ma klasy "dog".