昨日、オブジェクト指向の部分でつまづいていますというツッコミをいただきました。 人によって「オブジェクト指向」のつまづき方はそれぞれだと思うので、 誰にでも分かるという説明は実は困難なのですが、最初のきっかけになる解説を試みようと思います。 これより先は書籍なりを参照してください。
Rubyで最小限覚えないといけないオブジェクト指向の基本概念は以下の通りだと思います。
ね、そんなに難しくないでしょ。
あと、ドキュメントを読むために「継承」を理解した方が良いかもしれません。
それからRubyにはMix-inがありますから、これも押さえておきましょう。
ですから、文字列のクラスであるStringクラスには、長さを求めるsizeメソッドなどが定義されており、 スーパークラスであるObjectクラスから引き継いだobject_idメソッドなども持ちます。
さて、ではオブジェクト指向のメリットはなにか、ということですが、大きく分けると
オブジェクトが自分に合わせた処理を選ぶので、プログラマが選択する必要がない。つまり、 自分で値と処理の適切な組み合わせを選ぶ
str = "abc" string_size(str) #=>3 ary = [1, 2, 3, 4] array_size(ary) #=>4 string_size(ary) #=> error!!
という「非オブジェクト指向」と、言語が勝手に選択してくれる
str = "abc" str.size #=>3 ary = [1, 2, 3, 4] ary.size #=>4
という「オブジェクト指向」の嬉しさの違いです。
「差分プログラミング」はさほど重要ではないのですが、 オブジェクト指向を解説した書籍では必要以上に強調される傾向があります。
まあ、最初の一歩としてはこんなもんでしょうか。