2022年8月、ホームページを全面リニューアルしました! 情報を分かりやすくお伝えできるサイト作りを目指してまいります。

クラスによるプログラミング!

オフィスのアプリケーションを開発していくには、共通のモジュールをクラスライブラリにまとめて再利用できるようにするのが理想的である。クラスの作成に当たっては、ロジックや変数を隠蔽し、インターフェースとして使う変数はPropertyプロシージャによって公開するようにする。現在のVisualBasic6.0は、まだ継承の機能を備えてないが次期版のVBでは実現されるであろう。

(C++、Java等では、すでにクラスの概念は当たり前ではあるが・・・・・・・)

「オブジェクト指向(ObjectOriented)」とは何であろう? それは、何かの問題を考える際に、その問題に含まれている対象を中心と考えることを意味する。これまでのプログラミングでは、フローチャートやデータフローダイアグラムなどを使って、プロセスの分析を中心に思考を重ねてきた。考えてみると、この手法が特殊なのであって、オブジェクト指向の方が自然であるように私は思う。

プログラミング言語の進歩によって、現実の世界をオブジェクト中心に素直にモデル化し、記述することが可能になりつつある。VisualBasicは、バージョン6.0になってオブジェクト指向の設計とコーディングをスマートに進めることが可能になった。ただし、「継承(Inheritance)」をサポートしていないなどいくつかの難点もある。次期版では、継承をサポートした本格的なオブジェクト指向プログラミング言語となるようである。


■ クラスとオブジェクト

プログラムという観点から見ると、オブジェクトは「データとそれを扱うコードの両方を含むモジュール」ということがいえる。通常の手続きや関数には、処理を行うためのコードはあるがデータ自身は記述されていない。これはオブジェクトの重要な利点の一つである。オブジェクトで記述したアプリケーションにおいては、データはすべてオブジェクト内に存在しており、外部から直接アクセスはできない。この機能を「カプセル化(Encapsulation)」というようである。このカプセル化が大きなプロジェクトでどのようにありがたいかは経験のある人ならすぐに解るのではなかろうか。

オブジェクトを定義する際には「クラス(Class)」を記述する。これはオブジェクトのグループを表す概念である。例えば会社における従業員を考えてみよう。「山本正男」や「吉田五郎」などのオブジェクトはいずれも「従業員」クラスに属している。従業員はみな同じ内容と考えれば、従業員の定義は「従業員」クラスで行えばよい。

以上

コメント