1.メッセージ ~オブジェクトは「問いかけたらきちんと返事をしてくれる」~
print var1
var1.class #=> String
上記の例だと、var1 がオブジェクト "class" がメッセージ。
"class"というメッセージを送ることで、オブジェクトの素性(クラス)情報を得ることが出来る。
1.class #=> Fixnum
Fixnum.class #=> Class
"1.class"とは"1"のクラスを知るためのメッセージであり、その結果から"1"は"Fixnum"クラス出身の
オブジェクトであることがわかりました。
またここで言う「出身」のように、「あるクラスから生まれた(所属している)」ことを、
そのクラスの「インスタンス」であると表現します。
・"1"とは"Fixnum"クラスのインスタンスであるオブジェクト
・"Fixnum"とは"Class"クラスのインスタンスであるオブジェクト
| オブジェクト指向 |
比喩 |
Ruby |
| クラス |
出身地(村) |
String |
| インスタンス |
出身 |
― |
| オブジェクト |
人(モノ) |
"hello" |
p "hello".class #=> String
"hello"がオブジェクト、"class"がメッセージ
○Rubyとオブジェクト指向についてアウトプットしてみる○
1.メッセージ ~オブジェクトは「問いかけたらきちんと返事をしてくれる」~
2.継承とは
3.メソッドの実行
4.特異メソッド
5.特異クラス
6.オーバーライド
7.Mixin(include)
8.Mixin(extend)
9.委譲