プログラムの部品化
前回に続き、今回もアニメーションのプログラムを題材にする。今回は、前回より少し複雑なプログラムに挑戦しよう。
君たちのうちでだれか、自分で自動車や家を作れる人がいるだろうか? このような大きなものを一人で考えて作り上げるのはむずかしい。しかし君たちも自動車メーカーや住宅メーカーで働くことになれば、大勢でチームを組んで、自動車や家を作ることができるようになる。
たとえば自動車や飛行機を組み立てる場合、まず部品を作り、部品を組み合わせてより大きなものを作っていく。
また、家の設計をする場合は、まず全体の形を決め、中の間取りを考え、そして最後に棚や照明など細かい部分を設計する。
プログラムもこれらと同じような作り方をすることができる。
まず、部品を作って、それを組み合わせて大きなプログラムを作る方法、これを
ボトムアップ設計
といういう。逆に全体がどう動くかをきめておいて、それからそれを細かく分割していく方法を、
トップダウン設計
という。
いずれの場合も、プログラムを「部品」と「部品を使った全体」に分けてプログラミングする方法が必要になる。そのように、プログラムにおける「部品」を作るしくみを今回は学ぶ。
プログラミングにおける「部品」を定義する方法を、「オブジェクト指向」プログラミングと呼ぶ。プログラミングの基本的な方法の一つだ。
オブジェクト指向は、1970年後半にXerox社パロアルト研究所のAlan Kay等によって提案された。もともとAlan Kay氏はオブジェクト指向言語 Smalltalk を小学生程度の子供にプログラミングさせながら改良を加えていった。このことから分かるように、オブジェクト指向は真剣に学ぼうとすると奥が深い理論だが、利用する立場でオブジェクト指向言語を使ってプログラミングすることはとても簡単だ。
この回ではまずVBのオブジェクト指向プログラミング機能を利用して、簡単にプログラミングする方法を学ぶ。オブジェクト指向の理論についてはこの回ではほとんど述べない。理論について興味があれば、多くの参考書があるからこの機会に参考書等を読んでより深く理解しておいてもよいだろう。オブジェクト指向について勉強するのであれば、「オブジェクト指向プログラミング」といった題の書籍を探せばよい。なお、オブジェクト指向は、プログラミング言語とは独立に学べる理論なので、どのプログラミング言語を題材としているかはあまり気にしなくてよい。