Category:無題 2007-04-10

オブジェクト指向的 猿沢の池

道歌を1つ紹介したいと思います。道歌とは仏教や心学などの教えをわかりやすく詠んだ和歌のことです。新人を迎える時節柄もあり、プログラマー的洞察をもって、次の道歌を解釈して見たいと思います。

「 手を打てば 鯉は集まり 鳥は逃げ 女中茶を汲む 猿沢池 」

情景を思い浮かべて下さい。今、あなたは猿沢池のほとりにいるとします。あなたが手を打ちます。ポン!。すると、回りの光景に変化が起こります。鯉は、えさをもらえると思い、寄ってきます。鳥は、危険を感じ、逃げ出します。そして、茶屋の女中は、お客のお呼びと思い、お茶を持って来ます。このように、何気ないあなたの仕草に対する周囲の反応は様々です。

この歌は、1つの事実に対する受け取り方は人により様々であるという事の例えです。特にこの時期、新人に接する際には、この教訓を生かしたいものです。新人は新しい環境に緊張感をもって望んでいます。先輩の何気ない一言に一喜一憂している事でしょう。先輩としては誤解を与えない「配慮」が肝要かと思います。

さて、ここまでは、常識人的でつまらない話です。私も最近気づいたのですが、この歌をよく見て下さい。

「 手を打てば 鯉は○○○ 鳥は△△△ 女中・・・ 」

何かに似てると思いませんか?

  • 「手を打つ」 ------ メッセージ
  • 「鯉、鳥、女中」--- オブジェクト

と考えると、この歌は猿沢池でのポリモーフィズム(多態性)を歌ったものである事に気づきます。「猿沢池」システムでは、「手を打つ」というメッセージが定義されたインターフェースを、全ての「猿沢池の周りにいる生き物」クラスが継承しており、「鯉」「鳥」「女中」クラスでは、「手を打つ」というメッセージに対して個々の実装がしてあります。その結果、あなたの「手を打つ」というメッセージに対して、周囲の生き物は様々な反応を示す事になります。

この道歌、実は、多態性の実例を新人プログラマーに教える為の歌だったのではないでしょうか?


  • 今年度の課題をGoFのデザインパターンに設定してがんばっています。先日デザインパターン関連の本を一冊購入しました。『オブジェクト指向における再利用のためのデザインパターン(GoF)』はちょっと敷居が高いと思い、オライリー・ジャパン発行のHeadFirstデザインパターンでがんばってます。昔、先輩がプログラミングの定跡作りに励みなさいと指導してくれました。今はGoFのデザインパターンを勉強して、オブジェクト設計の定跡作りに励んでいます。 -- MrYamanaka 2007-04-11 19:47:35 (水)
    • GoFですか、懐かしい。確か、1995年発刊でしたか?遥か昔に読んだ記憶が・・・。今も書棚にあります。そーですか?オライリーのHeadFirstにありますか。私も読もうかな。最近、デザパタ使う機会も増えたし。 -- y2sunlight 2007-05-18 13:57:34 (金)

最終更新のRSS Last-modified: Wed, 12 May 2010 08:53:34 JST (2632d)