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

Slides:



Advertisements
Similar presentations
アルゴリズムとプログラミン グ (Algorithms and Programming) 第6回:クラスとインスタンス クラスの宣言 アクセス修飾子 インスタンスの生成 (new キーワード) this キーワード フィールドとメソッドの実際の定義と使い 方 クラスの宣言 アクセス修飾子 インスタンスの生成.
Advertisements

オブジェクト指向 言語 論 第八回 知能情報学部 新田直也. 多相性(最も単純な例) class A { void m() { System.out.println( “ this is class A ” ); } } class A1 extends A { void m() { System.out.println(
独習JAVA Chapter 6 6.6 クラスの修飾子 6.7 変数の修飾子 結城 隆. 6.6 クラスの修飾 abstract インスタンス化できないクラス。1つまたは複数のサブクラスで 実装してはじめてインスタンス化できる。 final 継承されたくないことを明示する。これ以上機能拡張 / 変更でき.
クラス図(1) FM12013 山口 亨. クラスとは 現実に存在する “ 物体 ” (オブジェクト)の 構造や振る舞いなどに着目して注目し抽 象化したもの クラス図を含む UML のほとんどの図で使用 されている.
AIプログラミング Java とオブジェクト指向プログラミングの基 礎 認知システム論 情報工学コース コンピュータサイエンスコース 生体情報コース.
6.4継承とメソッド 6.5継承とコンストラクタ 11月28日 時田 陽一
4 相互作用図 後半 FM13001 青野大樹.
Generic programming と STL
Chapter3 クラス図(後半)             FM12014 劉鎧誠.
ソフトウェア工学特論III 第10回 その他の図 情報通信工学専攻 GM11013 堀江 真史
アルゴリズムとプログラミング (Algorithms and Programming)
クラスその2∽(アドバンス)∽ 福岡工業大学  梶原 大慈       .
第5回 iPhoneアプリ開発勉強会 Objective-C 「継承とクラス」
プログラミングパラダイム さまざまな計算のモデルにもとづく、 プログラミングの方法論 手続き型 関数型 オブジェクト指向 代数 幾何.
第1章 実世界のモデル化と形式化 2.一般地物モデルと応用スキーマ
最適化ソルバーのための Python言語入門
情報伝播によるオブジェクト指向プログラム理解支援の提案
ユースケース図 FM12012 比嘉久登.
3-5 クラス図の関係その3 福本研究室 神田 祐輔.
オブジェクト指向プログラミング(2) OOPの三大要素 「クラス」「ポリモーフィズム」「継承」
プログラミング演習II 2004年10月19日(第1回) 理学部数学科・木村巌.
CHAPTER1 UMLとオブジェクト指向の基本概念(2)
クラス図(1) 後半 FM13010 村上 太一.
アルゴリズムとプログラミング (Algorithms and Programming)
ソフトウエアの再利用 オブジェクト指向プログラミング サンテクノ㈱技術3課 清水利弘.
UMLの概要と オブジェクト指向の 基本概念
第9章 オブジェクトの構築 日下部研究室 修士2年 秋本 浩平.
社会人学習講座 「Javaプログラミング概論」
ユースケース図2-4~ FM11012 中島拓也.
PHPの基礎と開発手法 Based on PHP5
UML入門 UML PRESS vol.1 より 時松誠治 2003年5月19日.
オブジェクト指向モデリング [3] 2003年10月14日.
第6回独習Javaゼミ 第6章 セクション4~6 発表者 直江 宗紀.
イベント,キーコード,イベントハンドラ, アクション,座標
細かい粒度でコードの再利用を可能とするメソッド内メソッドのJava言語への導入
ソフトウェア工学 知能情報学部 新田直也.
アルゴリズムとプログラミング (Algorithms and Programming)
細かい粒度で コードの再利用を可能とする メソッド内メソッドと その効率の良い実装方法の提案
Chapter7 その他の図 FM13010  須崎研 村上 太一.
その他の図 Chapter 7.
独習JAVA 6.8 コンストラクタの修飾子 6.9 メソッドの修飾子 6.10 ObjectクラスとClassクラス 11月28日(金)
第7回独習Javaゼミ セクション 1~4 発表者 直江 宗紀.
ローカル変数とグローバル変数 ローカル変数  定義された関数内だけで使用できる変数 グローバル変数 プログラム全体で使用できる変数.
第11週:super/subクラス、継承性、メソッド再定義
UML関係のTIPS 2008年5月26日 2010年5月16日改訂 海谷 治彦.
Java/Swingについて+ (4) 2005年10月26日 海谷 治彦.
オブジェクト指向言語論 第十一回 知能情報学部 新田直也.
ソースコード縮退による ソースコード理解 神谷年洋 科学技術振興事業団 さきがけ研究21 オブジェクト指向シンポジウム2003.
オブジェクト指向言語論 第八回 知能情報学部 新田直也.
プログラミング言語論 第十四回 理工学部 情報システム工学科 新田直也.
第1章 実世界のモデル化と形式化 3.地物インスタンスの表現
データモデリング モデルの基本作法.
オブジェクト指向言語論 第十一回 知能情報学部 新田直也.
第6章:リストとデータフレーム 10月23日発表 藤井 丈明
1-3 UMLの図(ダイアグラム) コンポーネント図 システムの物理的な構成を表現 ソフトウェアコンポーネントの依存性を表現
コードクローン間の依存関係に基づく リファクタリング支援環境の実装
プログラミング言語論 第十三回 理工学部 情報システム工学科 新田直也.
オブジェクト指向言語論 第十二回 知能情報学部 新田直也.
プログラミング言語論 第十一回 理工学部 情報システム工学科 新田直也.
サブゼミ第7回 実装編① オブジェクト型とキャスト.
第5回 プログラミングⅡ 第5回
オブジェクト指向言語論 第五回 知能情報学部 新田直也.
JAVA入門⑥ クラスとインスタンス.
オブジェクト指向言語論 第十一回 知能情報学部 新田直也.
オブジェクト指向言語論 第九回 知能情報学部 新田直也.
ソフトウェア工学 知能情報学部 新田直也.
オブジェクト指向言語論 第六回 知能情報学部 新田直也.
オブジェクト指向言語論 第九回 知能情報学部 新田直也.
計算機プログラミングI 第2回 2002年10月17日(木) 履習登録 複習 ライブラリの利用 (2.6-7) 式・値・代入 (2.6-8)
計算機プログラミングI 第10回 2002年12月19日(木) メソッドの再定義と動的結合 クイズ メソッドの再定義 (オーバーライド)
Presentation transcript:

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

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

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

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

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

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

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

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

学校の汎化関係の例 学校 義務教育学校 任意教育学校 小学校 中学校 高校 大学

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

多重継承の例 動物 サイズ 飛行物 サイズ 属性がぶつかる 多重継承 鳥

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

抽象化クラス 動物 {abstract} 抽象化クラス 動物 猫 犬 馬 猿