1 / 13

3-3 クラス図の関係その2

3-3 クラス図の関係その2. 集約. あるクラスが他のクラスの一部を構成しているようなとき、集約の関係という 全体が部分の変数を持っている. 集約. 全体. 部分. 依存関係. 依存関係は2つのモデル要素 ( クラスなど ) 間に存在する利用関係を表現する クラス間で依存関係が使用される3つのパターン 1. 引数で参照する場合 2. ローカル変数として参照する場合 3. グローバルに参照する場合. 1. 引数で参照する場合. クラス A がその保持している操作の引数でクラス B を受け取っている場合 戻り値でも同様. 2. ローカル変数として参照する.

Download Presentation

3-3 クラス図の関係その2

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 3-3 クラス図の関係その2

  2. 集約 • あるクラスが他のクラスの一部を構成しているようなとき、集約の関係という • 全体が部分の変数を持っている 集約 全体 部分

  3. 依存関係 • 依存関係は2つのモデル要素(クラスなど)間に存在する利用関係を表現する • クラス間で依存関係が使用される3つのパターン 1.引数で参照する場合 2.ローカル変数として参照する場合 3.グローバルに参照する場合

  4. 1.引数で参照する場合 • クラスAがその保持している操作の引数でクラスBを受け取っている場合 • 戻り値でも同様

  5. 2.ローカル変数として参照する • クラスAがその保持している操作の中でクラスBをローカル変数として使用している場合 操作1(){  クラスB オブジェクト1; //クラスBのオブジェクトの作成  オブジェクト1,操作2(); //オブジェクト1(クラスB)の操作2の呼び出し ・ ・ ・ }

  6. 3.グローバルに参照する場合 • クラスBがモデル全体やパッケージ全体から見えるように宣言されており、クラスAがクラスBを参照している場合 操作1(){   オブジェクト1,操作2(); //オブジェクト1(クラスB)の操作2の呼び出し ・ ・ ・ }

  7. 汎化 • 汎化は、一般的な要素(スーパークラス)と特定化された要素(サブクラス)の関係を表現する • サブクラスはスーパークラスの性質をすべて受け継ぎ、さらにサブクラス独自の性質を持っています  • 表記の仕方が2種類ある 1.シェアード・ターゲット・スタイル 2.セパレート・ターゲット・スタイル

  8. 汎化 スーパークラス 汎化 ・・・ ・・・ 省略表記 シェアード・ターゲット・スタイル セパレート・ターゲット・スタイル

  9. 学校の汎化関係の例

  10. コラム:単一継承、多重継承 • 単一継承:1つのスーパークラスのみと汎化関係にある • 多重継承:2つ以上のスーパークラスと汎化関係にある • メリット:現実をそのままモデリングできる • デメリット:属性、操作の衝突が起こる可能性がある • ※C++はサポートしているが、Java、Smalltalkではサポートしていない

  11. 多重継承の例 属性がぶつかる 多重継承

  12. 抽象クラス • 汎化の階層を作成したとき、実際のオブジェクトを作成する必要がないクラスを作る場合がある →オブジェクトを1つも持たないクラスを抽象クラスという • 抽象クラスはサブクラスをまとめる役割を担う →抽象クラスは必ずサブクラスを持つ

  13. 抽象化クラス 抽象化クラス

More Related