オブジェクト指向
データとデータを操作するメソッドを1つのオブジェクトにまとめて、内部仕様を外から見えないように隠蔽すること。オブジェクトの内部仕様を変更しても、他のオブジェクトに影響を与えない。
オブジェクト同士は、メッセージを送ることで協調して動作する。
クラス
オブジェクトの設計図
クラスを元に作られた各オブジェクト
<クラスの階層構造>
オブジェクト指向では、他のクラスで流用できるように、クラスも部品化されている。
●汎化-特化
汎化
いくつかのクラスに共通している事柄をまとめて、1つの別のクラスを作ること
例)バス、トラック、タクシー → 車
特化
汎化したクラスから個々のクラスを考え出すこと
例)自動車 → トラック、バス、電気自動車
クラスAりクラスBが汎化ー特化の関係にある時、汎化されたクラスAのことを基底クラス(スーパークラス)といい、特化されたクラスBのことを派生クラス(サブクラス)と言う。
継承
サブクラスを作る際に、スーパークラスで決められた手続きやデータを受け継ぐこと
●集約ー分解
自動車というクラスは、タイヤ、ハンドル、ブレーキといったクラスを集約したものであると考えられる。
タイヤ、ハンドル、ブレーキというクラスは、自動車というクラスを分解したものである。
<UML>
オブジェクト指向を用いた開発では、オブジェクトの構成や関係性などをモデル化し、プログラムの設計図を作成する。その際に使われるモデリング言語をUML(Unified Modeling Language)と言う。
●クラス図
クラスの属性と操作、クラス間の関係を表した構造図。操作、属性、ロール名、クラス間の関係性が記述される。
●オブジェクト図
クラスの定義に基づいて生成されるインスタンス間の関係を表した構造図。クラス図に似ているが、オブジェクト図の属性には具体的な値が入っている。
多重度
関連するクラス間の数量的な関係を表現したもの
●ユースケース図
システムが提供する機能とサービスの範囲を表した図。
●シーケンス図
オブジェクト間の相互作用を時系列で表した図。