オブジェクト指向

object-oriented paradigm

 問題の対象をデータ構造と振る舞いが一体となったオブジェクトの集合として捉え,オブジェクトの相互作用としてソフトウェアを開発しようとする手法.分析(OOA),設計(OOD),プログラミング(OOP)の三つのフェーズで適用される.まず,問題にどのようなオブジェクトが関係しているかを把握し(OOA),それぞれのオブジェクトの属性や振る舞いをモデル化する(OOD).最後に,言語による実装を行う(OOP).オブジェクトの属性やふるまいを定義したものはクラスと呼ばれ,抽象データ型が用いられる.内部データは情報隠ぺいにより不当な呼び出しから保護されている.クラスは独立性が高く,容易にライブラリ化できるので,再利用しやすく,開発期間の短縮が期待される.この概念をソフトウェアICと呼ぶ.また,継承機能により,対象の体系的な分類,機能の拡張が容易である.個々のオブジェクトはインスタンスと呼ばれ,プログラムの実行はインスタンスへのメッセージ送信によって行われる.メッセージを受け取ったインスタンスは,その内部データの変更や他のオブジェクトへメッセージを送るなどの反応を示す.同じメッセージでもオブジェクトやその状態が異なれば,異なった反応を示す.特に,シミュレーションへの適用に向いており,代表的な言語として,Smalltalk,C++,Eiffelなどがある.