ÎncepețiÎncepe gratuit

Cu Multe Clase

Variabilele pot avea mai mult de o clasă. În acest caz, class() (docs) returnează un vector de caractere cu lungime mai mare decât unu.

De asemenea, poți seta mai multe clase atribuind un vector de caractere funcției class(). Clasele ar trebui ordonate de la mai specifică la mai generală, de la stânga la dreapta, deoarece vrei să începi cu comportamentul cel mai bine adaptat obiectului tău. De exemplu:

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

Poți verifica celelalte clase folosind funcția de uz general inherits() (docs). De exemplu:

inherits(x, "vowels")

Acest exercițiu face parte din cursul

Programare orientată pe obiecte cu S3 și R6 în R

Vezi cursul

Instrucțiuni pentru exercițiu

Variabila kitty a fost predefinită în spațiul tău de lucru.

  • Afișează variabila kitty tastând numele ei.
  • Atribuie clasele "cat", "mammal" și "character" variabilei kitty.
  • Verifică, pe rând și în această ordine, că kitty are clasele "cat", "mammal" și "character" folosind inherits().
  • Verifică că kitty este în continuare un vector de caractere folosind is.character().
  • Verifică că kitty nu are clasa "dog".

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# View the kitty
kitty

# Assign classes
___ <- ___

# Does kitty inherit from cat/mammal/character?
inherits(___, "___")
___
___

# Is kitty a character vector?
___

# Does kitty inherit from dog?
___
Editează și rulează codul