さて、今日のネタは今日は私ことアクアを例にオブジェクト指向の3要素について勉強してみる事にしましょう。
アプリケーションはつまるところ、処理とデータの集まりです。この、従来(オブジェクト指向が生まれる以前)は処理とデータを実行順序に沿って行う構造化設計が主流でした。
然しながら、このプログラミング手法は同一処理、同一データをほかのプログラミングで再利用する事が困難でした。
そこで、処理とデータを処理の手順ではなく処理の対象に着目して一つにまとめる考え方が生まれました。それがオブジェクト指向です。
ここからは、この本来のオブジェクト指向をから大きく脱線します。ネタとして楽しんでください。
何の事だかよく解らない。という方がいらしたら、きちんとした本でオブジェクト指向について勉強してください。このエントリで勉強しようとしたら確実に失敗します。
オブジェクト指向の3要素
オブジェクト指向を語る上で絶対に欠かせない要素として、継承、多態性、隠匿化という3つの要素があります。
この3要素をアクアに沿って説明すると以下のようになります。
- 継承(inheritance)
- アクアは大酒のみの親父と、ちょっぴりピザ気味な母親のDNAを継承しています。
親父からの酒好き属性は継承していません。たぶん後天的な属性のためだとおもいます。
しかしながら、最近の自身のおなかを見るとメタボ遺伝子は継承している可能性があります。
ちなみに自分では父親と母親の多重継承だと思ってますが、子供の頃に『お前は橋で拾われた。』とよく言われたので、実は橋オブジェクトの単一継承なのかもしれません。
- 多態性(Polymorphism)
- 尾崎豊さんの歌が大ヒットしていた頃、アクアは思春期でした。
ちょうど反抗期と重なって些細なことで周囲に迷惑を掛けましたが、これを指して多態とは言いません。
人に迷惑をかける行為は一般的に悪態と言います。
しかしながらアクアに仕事をさせた場合、仕事の内容よっては"遅刻する”、”サボる”、”寝る”などの振る舞いが発生することがあります。この態度を指して多態性と言うかもしれません。
ちなみに思春期の頃のアクアは100円玉で買える熱い缶コーヒーは握りしめましたが、バイクを盗んで走りだしたりはしませんでした。
- カプセル化/隠匿化(encapsulation)
- アクアは人には言えない過去があります。
ふだんはそんな人に言えない過去をおくびにも見せずに明るく振る舞っていますが、これを指してカプセル化と言いません。
また私は、非常におだてに乗りやすく、ある言葉でお願いされるとついつい断れずに雑用でも引き受けてしまいます。この私の心をくすぐる言葉(群)をカプセル化と言いうのかもしれません。
ちなみに、初恋の”あわいおもひで”は心の内にありますが、タイムカプセルを校舎の裏に埋めた事はありません。
お楽しみいただけましたでしょうか?
反響があれば、また別のエントリで取り上げたいと思います。