1. Uczyć się
  2. /
  3. Courses
  4. /
  5. R における S3 と R6 を使ったオブジェクト指向プログラミング

Connected

Exercise

とてもクラス的

変数には複数のクラスを持たせることができます。その場合、class()(docs)は長さ1より大きい文字ベクトルを返します。

同様に、class() に文字ベクトルを代入することで、複数のクラスを設定できます。クラスは左から右へ、より具体的なものからより一般的なものの順に並べてください。オブジェクトに最も適した振る舞いから始めたいからです。例えば、次のようにします。

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

汎用関数の inherits()(docs)を使うと、他のクラスを確認できます。例えば:

inherits(x, "vowels")

Instrukcje

100 XP

変数 kitty はワークスペースにあらかじめ用意されています。

  • 名前を入力して、kitty の中身を表示します。
  • 変数 kitty にクラス "cat"、"mammal"、"character" を割り当てます。
  • inherits() を使って、kitty がクラス "cat"、"mammal"、"character" を持つことを(その順に1つずつ)確認します。
  • is.character() を使って、kitty が依然として文字ベクトルであることを確認します。
  • kitty がクラス "dog" を持たないことを確認します。