今日の課題……

(for id:yurli)
テーマ……オブジェクト指向についての訳のわからないたとえ話。

どんなたとえ話にしようか……。……いいアイディアなし。

そのまえに、用語について簡単に説明したいと思う。
クラス……データとメソッドがひとかたまりになったもの。
メソッド……ある一定の目的を達成するためのひとかたまりの命令群……苦しい。


車をひとつのオブジェクトとしてたとえるならばメソッドには「走る」とか「止まる」とか「曲がる」というのが相当する。さらに、車というオブジェクトを詳しく見れば、「エンジン」とか「タイヤ」とか「ハンドル」とか「ブレーキ」とか様々なもの……オブジェクトから成り立っていることがわかると思う。
たとえば、「止まる」というメソッドを実行するためには「ブレーキ」というオブジェクトの「ブレーキをかける」というメソッドを実行する必要があるように思える。


これはどういうことを意味しているか……。車という大変複雑なものでも「エンジン」とか「タイヤ」とかいう一つ細かな視点から見れば複雑度は低下しているといえると思う。
もちろん、それでもかなり複雑ではあると思うが、ねじとか電線とかそういう単位まで分散していけば一つ一つの動きは単純になることと思われる。

これは、ソフトにもいえることで、たとえば、Windows XPという複雑きわまりないソフトにおいても限りなく細分化していけばついにはやっていることと言えば単純になることは想像できるだろう。
それを実現する一つの方法論がオブジェクト指向である。


……わかったようなわからないような。