第03章 プログラムはドラ〇もんで説明できる②

 ポインタは『どこ〇もドア』と同じで、こことは別の場所に繋げてくれる。ポインタに自分が必要な情報の場所を入力すれば、そこに繋がるから、直接、情報を取り出せるのだ。

 注意点は、自分が操作しているのが“情報の場所”か“情報そのもの”かを間違えないようにする事。


 イッQはそう説明した。


「まあ、これは概念で、使い方は別に勉強しないとダメだけどな」


「そんな事ないよ。全然分からなかったのに、少し分かった気がする!」


 ポインタの説明で感心していた壱人は、さらにハッと思い付いた。


「じゃあ、『if』は、まさか…」


「そう『もしもボッ〇ス』だ!」


 異世界の言葉ほどの隔たりがあったプログラムが、ドラ〇もんのひみ〇道具で説明されると、急に身近に感じられた。

 そうすると、もっと色々聞きたくなる。壱人は気軽な気持ちで次の質問をした。


「そうだ、『オブジェクト指向プログラミング』についても教えてよ」


 しかし“オブジェクト指向”という言葉を聞いた途端、今まで鼻高々だったイッQが固まった。そして十秒の沈黙の後…


「なんかスゴイやつ」


 とだけ答えた。

 今までと違う回答に納得できない壱人はイッQに食い下がる。だがイッQも頑なに答えようとはしなかった。なぜならイッQも良く分かっていないからだ。


「なんでこれだけ適当なんだよ!ちゃんと説明してよ」


「自分で調べろ」


「調べたけど分からなかったんだよ」


「大丈夫だ。オブジェクト指向なんて分からなくてもプログラムは書ける!」


「分からないと書けないよ!」


 しばらくそんなやり取りをしていたが「教えてくれないなら自分で調べる」と言って壱人はネット検索をするためにパソコンに向かってしまった。

 その姿を見たイッQは、これはダメな時の黄金パターンだと気付いた。

 壱人は、基本的に自分で調べるタイプだ。それで分かれば良いのだが、調べ方が雑なので緻密な情報収集には向いていない。しかもプログラム関係は、調べれば調べた分だけ、更に調べるものが増えるため、時間とやる気を無くす場合が多いのだ。

 

「分かった、教えるよ」


 焦ったイッQは「取り敢えずで良いから答えを示さないと」と思った。


「ただし、独学だし、俺自身でちゃんと分かってる訳じゃないから、間違ってる可能性があるからな」


 そう念を押して、なんとか自分が理解している範囲のものを形にして説明を考え出す。その最初の言葉がこれだった。


 「『オブジェクト指向プログラミング』の“オブジェクト”とは、ドラ〇もんのひみ〇道具そのものだ!」


 ひみ〇道具は、どんな仕組みか不明だけど、誰でも使う事ができるだろ?これが「オブジェクト指向」で一番大事なカプセル化だ。

 “ほん〇くコンニャク”を例にすると、食べるだけであらゆる言語を自国語として理解でき、しかも自分の話す言葉も相手の使用する言語に自動的に翻訳、さらに文章まで読めるようになる。仕組みが見れたなら大変な処理をしてるはずなのに、全く気にせず使えるように作られてる。

 しかも“ほん〇くコンニャク”を食べる事のできないロボットの場合は、上に乗せれば同じ効果があるなど融通が利く。どんな形でも同じように機能が使えるのが、ポリモーフィズム(多態性、多相性)だ。


 つまり『オブジェクト指向プログラミング』とは、数あるひみ〇道具から目的に合ったものを選び、無ければ自分で作り、それらを組み合わせ、使いこなして自分の思い通りの動きを実現する事なんだ!


 イッQの説明を聞いて「自分がドラ〇もんの立場になるわけか!?」と壱人は驚く。

 続いて、イッQは「派生」についても説明を始めた。


「ひみ〇道具からは離れるが、『ザ・ドラ〇もんズ』って知ってるだろ? ドラ・〇・キッドとか王〇ラとか、性格や外見、特技は色々違うよな。でもさ…」


 そこで一度言葉を切ってから、結論を言う。


「結局、全員『ドラ〇もん』だろ?」


 ネコ型ロ〇ット、四次元※※から道具を取り出す、そういう基本は引き継ぎ、必要に応じて個別の能力や個性を追加する。これが「派生」だ。


 話し終えたイッQは「これだけ説明すれば、もう自分で調べるとは言わないだろう」と思った。そしてその目論見は成功して壱人は感激している。


「スゴイ!スゴイよ!不二雄先生」


「日本に藤〇不二雄先生が存在してくれて良かったな」


 ひとしきり感心した後に、壱人は「最後に一つだけ」と言ってきた。

 イッQは「まだあるのか?」と思いつつ、こうなったらなんでも答えてやろうという気持ちになっていたので壱人の言葉を待った。


「インスタンスの正体が、いまいちはっきりしないんだ」


 イッQはその質問に胸をなで下ろす。それなら前に悩んだ時に答えを出していた。だから自信満々に答える。


「インスタンスは、なんというか “クローン・ト〇ーパー” みたいなものかな。同じ遺伝情報で複製されるクローンだけど、個別の意思を持ってるし、様々な経験によって個体差が生まれるんだ」


「なんでそこだけ『ス〇ー・ウォーズ』なんだよ!『ドラ〇もん』で例えろよ!」


 光の速さで壱人がツッコむ。


「そこまでドラ〇もんは詳しくないんだよ!」


 イッQもつい本音が出てしまう。

 その言葉に多少呆れつつ、それでもプログラムの難しさを少し取り払ってくれた事に感謝をする壱人だった。


※インスタンスの説明を変更しました。

  • Xで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る