オブジェクト指向はじめの一歩

サルでき.jp > 97.サルでき本 原稿以前 > オブジェクト指向はじめの一歩

2011/12/19 17:46 投稿先 97.サルでき本 原稿以前 投稿者 カワサキ タカシ

明できる、自信なし。

オブジェクト指向。来ましたよ、ついにこのネタを取り扱うページが。プログラムをやっていると、誰しも一度は目にするアイツ、多くのチャレンジャーを闇に飲み込んできたアイツ。そう、その名もオブジェクト指向である。あらためて言うまでもなく、ほとんどの人が思っているであろう言葉を代弁しよう。「そもそも、『オブジェクト指向』という言葉の意味がわかりません」、ですな。直訳にも程があるというか、訳せてもいないというか。ワタシは最初オブジェクト指向と聞いて、心理学的な何かを想像していた。丸いものより四角いもののほうが好きなアナタは几帳面デース、みたいな。

こういう、いかにもムズカシそうなことをお話しするときには、コツがある。それは、「楽しく行こう」ということなのだ。どうせ100%スパッとわかるハズがないし、わかったところで今は使う場面もない。だったら、なんとなく「楽しそうなお話」という印象が残っていたほうが、後で本格的に勉強する際に助かるのである。楽しく行こう。オブジェクト指向。

はい、今から30秒ほど息を止めまーす。せーの。「オブジェクト指向とは、プログラムを組み立てる上での、ひとつの考え方のことである。プログラムというのは、機械が命令を順番に処理して、結果的に狙い通りのことができれば、正解、となるわけだ。逆に言えば、結果は決められた通りにできなければいけないものの、過程はあまり縛りがない。なので、昔のプログラムは、命令を機能の順番に書いて、ゴールまでたどり着かせる。という考え方が一般的だった。そんな中、「もっと効率よく、もっと便利に」、プログラムを書くための考え方を、頭のいい人達が研究したのだ。誰ですか?ちっ、余計なことを…と言ってる人は。その、ひとつの考え方が、オブジェクト(もの)中心に考える、オブジェクト指向、と呼ばれるものなのである」。はい、おつかれさまでしたー。

成り立ちから見ていくと、とてもわかりやすい出来上がり方をしているのがわかると思う。オブジェクト指向は、プログラムをより便利に書くための考え方であって、決して、ムズカシくしてやろうというイジワルな想いで出来上がっているわけではないのである。オブジェクト指向=良いヤツ。覚えておこう。

オブジェクト指向の具体的な考え方は、よく設計図と量産品に例えられる。今回は…何にしよう。うーむ。では、とある有名なモンスターでお話を進めていこう。ドラゴンクエストというゲームで出てくる、プヨンとした青色の半笑いモンスター、スライムというヤツをご存知だろうか。物語の序盤に出てきて、非常に弱い。世界の安全性を訴える役割を担っているモンスターである。コイツは、まず単体では出てこない。常に全く同じ見た目の仲間を引き連れて登場してくる。全員真っ青。全員半笑い。

こいつの亜種に、スライムベスというヤツと、ホイミスライムというヤツがいる。前者は赤いボディが特徴で、後者はクラゲ状の足が生えているのが特徴となっている。多少体力があったり、呪文が使えたり、それくらいの差異はあるのだが、コイツらは同じ郷土出身だ、と思えるほど、似通った部分が多い。世界にはそっくりな見た目をもった人が3人くらいいるらしいが、それにしてもコイツらは似すぎている。全員プヨプヨ。全員半笑い。

以上のイメージが頭の中に浮かんだら、オブジェクト指向はもうわかったも同然である。やったぜ。順にそれっぽくしていこう。アナタがこのゲームの開発者だったとして、ゲームの世界にスライム軍団を生み出す場合、すべての基本形になっているのが、スライムである。厳密に言ってしまえば、スライムの設計図、ということになる。設計図さえあれば、何匹でもスライムを生み出すことができるわけだ。この設計図のことを、クラスと言う。クラスは、「変数」と「メソッド」と呼ばれるもので出来ていて、スライムに例えると、変数は色や形、体力値や攻撃力などの、値。メソッドは、攻撃したり逃げ出したりする、振る舞い。その辺りがしっかり決まっていれば、同じスライムを何匹でも量産できるようになる。この量産されたスライムを、インスタンスと言う。

さらに、基本形があれば、基本形にちょっとだけ足したり引いたりすることで、スライムベスやホイミスライムを作ることができる。これを「クラスの継承」という。基本のスライムの設計図を一式作っておいて、まずはそれを量産(インスタンス化)。必要に応じて、チョイ足し、チョイ引きをしたクラスを複製編集(継承)して、それも量産。こうして、勇者から城から、全部の「もの」を作っていって、ゴールまでたどり着かせてしまう考え方、これをオブジェクト指向と呼ぶのである。

「どこが楽しいんじゃい!」という声が聞こえてくる気がする。え?楽しくなかった?楽しかったでしょう、あの頃の思い出がよみがえってきて。ワタシはこのムズカシいオブジェクト指向のことを考えるときは、こういう丸いもので頭をいっぱいにすることにしている。几帳面すぎないくらいが、きっと丁度いいのだ。


※この記事は今度出す本の下書きの下書きです。
※全ボツになることもありますので、番外編としてお楽しみください。

【業務連絡】
オブジェクト指向の説明(イラストあり?)が続きます。

関連する記事:

    None Found


Advertisement