クラス図(1) 後半 FM13010 村上 太一.

Slides:



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

独習JAVA Chapter 6 6.6 クラスの修飾子 6.7 変数の修飾子 結城 隆. 6.6 クラスの修飾 abstract インスタンス化できないクラス。1つまたは複数のサブクラスで 実装してはじめてインスタンス化できる。 final 継承されたくないことを明示する。これ以上機能拡張 / 変更でき.
クラス図(1) FM12013 山口 亨. クラスとは 現実に存在する “ 物体 ” (オブジェクト)の 構造や振る舞いなどに着目して注目し抽 象化したもの クラス図を含む UML のほとんどの図で使用 されている.
Chapter1 UML の概要とオブジェクト指向の基本概念 1 情報工学専攻 MFM10004 奥平 健太.
C++ 基礎. 目次 C++ とは? C++ におけるオブジェクト指向 課題 C++ とは? Cには足りなかったものが付与されて出来た物 具体的には、 情報の隠蔽(カプセル化) 共通の名前付け(関数のオーバーロード) 再利用の仕組み クラスの導入 など オブジェクト指向 C++ では大規模なプログラミングの.
6.4継承とメソッド 6.5継承とコンストラクタ 11月28日 時田 陽一
4 相互作用図 後半 FM13001 青野大樹.
Generic programming と STL
相互作用図 FM11010 田中健太.
Chapter3 クラス図(後半)             FM12014 劉鎧誠.
ソフトウェア工学特論III 第10回 その他の図 情報通信工学専攻 GM11013 堀江 真史
アルゴリズムとプログラミング (Algorithms and Programming)
Struts1.xの脆弱性(CVE ) に対するSDEの対処:推奨タイプ (サンプルソースコードの公開)
IO - 入出力 小西 亨.
オブジェクト指向プログラミング(4) 静的分析(2)
Applet 岡部 祐典 鈴木 敬幸.
~手続き指向からオブジェクト指向へ(Ⅰ)~
オブジェクト指向プログラミング(5) 静的分析(3)
第4回 iPhoneアプリ開発勉強会 Objective-C 基礎講座 -クラス- 鷲見政明.
プログラミング基礎I(再) 山元進.
クラスその2∽(アドバンス)∽ 福岡工業大学  梶原 大慈       .
アルゴリズムとプログラミング (Algorithms and Programming)
Myoungkyu Song and Eli Tilevich 発表者: 石尾 隆(大阪大学)
ユースケース図 FM12012 比嘉久登.
3-5 クラス図の関係その3 福本研究室 神田 祐輔.
第2回:Javaの変数と型の宣言 プログラミングII 2007年10月2日.
オブジェクト指向プログラミング(2) OOPの三大要素 「クラス」「ポリモーフィズム」「継承」
プログラミング演習II 2004年10月19日(第1回) 理学部数学科・木村巌.
CHAPTER1 UMLとオブジェクト指向の基本概念(2)
3-3 クラス図の関係その2.
構造体.
アルゴリズムとプログラミング (Algorithms and Programming)
UMLの概要と オブジェクト指向の 基本概念
プログラミング演習Ⅰ 課題2 10進数と2進数 2回目.
ユースケース図2-4~ FM11012 中島拓也.
UML入門 UML PRESS vol.1 より 時松誠治 2003年5月19日.
C++とオブジェクトデータベース入門 8.オブジェクトデータベースとは 森井 喬 Webページ
第6回独習Javaゼミ 第6章 セクション4~6 発表者 直江 宗紀.
ソフトウェア工学 知能情報学部 新田直也.
アルゴリズムとプログラミング (Algorithms and Programming)
Chapter7 その他の図 FM13010  須崎研 村上 太一.
その他の図 Chapter 7.
独習JAVA 6.8 コンストラクタの修飾子 6.9 メソッドの修飾子 6.10 ObjectクラスとClassクラス 11月28日(金)
ローカル変数とグローバル変数 ローカル変数  定義された関数内だけで使用できる変数 グローバル変数 プログラム全体で使用できる変数.
プログラミング言語論 第五回 理工学部 情報システム工学科 新田直也.
UML関係のTIPS 2008年5月26日 2010年5月16日改訂 海谷 治彦.
Java/Swingについて+ (4) 2005年10月26日 海谷 治彦.
ソースコード縮退による ソースコード理解 神谷年洋 科学技術振興事業団 さきがけ研究21 オブジェクト指向シンポジウム2003.
第1章 実世界のモデル化と形式化 3.地物インスタンスの表現
XMLゼミ 3.5 DTD M2 正木 裕一.
1-3 UMLの図(ダイアグラム) コンポーネント図 システムの物理的な構成を表現 ソフトウェアコンポーネントの依存性を表現
アルゴリズムとプログラミング (Algorithms and Programming)
参照されないリテラル 長谷川啓
プログラミング言語論 第十三回 理工学部 情報システム工学科 新田直也.
オブジェクト指向言語論 第十二回 知能情報学部 新田直也.
計算機プログラミングI 木曜日 1時限・5時限 担当: 増原英彦 第1回 2002年10月10日(木)
サブゼミ第7回 実装編① オブジェクト型とキャスト.
第5回 プログラミングⅡ 第5回
オブジェクト指向言語論 第五回 知能情報学部 新田直也.
プログラム分散化のための アスペクト指向言語
JAVA入門⑥ クラスとインスタンス.
オブジェクト指向言語論 第十一回 知能情報学部 新田直也.
プログラミング 4 文字列.
ソフトウェア工学 知能情報学部 新田直也.
演算子のオーバーロード.
JSONの概要, Cloud FireStore で JSON を扱う
情報処理Ⅱ 小テスト 2005年2月1日(火).
プログラミング 3 ポインタ(1).
計算機プログラミングI 第2回 2002年10月17日(木) 履習登録 複習 ライブラリの利用 (2.6-7) 式・値・代入 (2.6-8)
計算機プログラミングI 第5回 2002年11月7日(木) 配列: 沢山のデータをまとめたデータ どんなものか どうやって使うのか
Presentation transcript:

クラス図(1) 後半 FM13010 村上 太一

3-3 クラス図の関係その2 集約について 関連がある2つのクラス間に全体と部分の関係が成り立つときに使用する。 3-3 クラス図の関係その2 集約について 関連がある2つのクラス間に全体と部分の関係が成り立つときに使用する。 例 「企業 は 社員 を持っている 」 企業 社員 集約 全体 部分

3-3 クラス図の関係その2 依存関係について 2つのモデル要素間に存在する利用関係を表現する。 クラス間で使用する場合は以下の3つである。 3-3 クラス図の関係その2 依存関係について 2つのモデル要素間に存在する利用関係を表現する。 クラス間で使用する場合は以下の3つである。 引数で参照する場合 ローカル変数で参照する場合 グローバルに参照する場合

3-3 クラス図の関係その2 依存関係について 引数で参照する場合 クラスAがその保持している操作の引数でクラスBを受け取っている場合 3-3 クラス図の関係その2 依存関係について 引数で参照する場合 クラスAがその保持している操作の引数でクラスBを受け取っている場合 クラスA +操作1(引数1:クラスB) クラスB

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

3-3 クラス図の関係その2 依存関係について ③グローバルに参照する場合 3-3 クラス図の関係その2 依存関係について ③グローバルに参照する場合 クラスBがモデル全体等から見えるように宣言され、クラスAがクラスBを参照している場合 クラスA +操作1() クラスB +操作2() 操作1(){ オブジェクト1.操作2();//オブジェクト1(クラスB)の操作2の呼び出し ・ }

3-3 クラス図の関係その2 汎化について 一般的な要素(スーパークラス)と特定化された要素(サブクラス)を表現する。 3-3 クラス図の関係その2 汎化について 一般的な要素(スーパークラス)と特定化された要素(サブクラス)を表現する。 サブクラスはスーパークラスの性質をすべて受け継ぎ、さらに独自の性質を持つ。

3-3 クラス図の関係その2 汎化について スーパークラス スーパークラス サブ1 サブ2 サブ1 サブ2 ・・・ ・・・ 3-3 クラス図の関係その2 汎化について スーパークラス スーパークラス サブ1 サブ2 サブ1 サブ2 ・・・ ・・・ シェアード・ターゲット・スタイル セパレート・ターゲット・スタイル

3-3 クラス図の関係その2 汎化について 乗り物 スーパークラス 汎化 車 飛行機 乗用車 バス 旅客機 ヘリ

3-3 クラス図の関係その2 抽象クラスについて 抽象クラスはオブジェクトを1つも持たない。 3-3 クラス図の関係その2 抽象クラスについて 抽象クラスはオブジェクトを1つも持たない。 サブクラスをまとめる意味で作成する為、抽象クラスは必ずサブクラスを持つ。 乗り物 乗り物 {abstract} 車 飛行機

3-4 クラスその2 ∽(アドバンス) クラス名(∽アドバンス)について 3-4 クラスその2 ∽(アドバンス) クラス名(∽アドバンス)について クラスにあるパッケージに属する場合には、クラスを表示する際に、パッケージ名をクラス名の前に修飾することができます。 パッケージ名 クラス名 学校 学校: :生徒 生徒

3-4 クラスその2 ∽(アドバンス) クラス名(∽アドバンス)について 3-4 クラスその2 ∽(アドバンス) クラス名(∽アドバンス)について クラスの属性は下記の形式で多重度およびプロパティ文字列を表記することができる。 例・・・学生のクラス属性 ステレオタイプ 可視性 名前 : 型表現 [多重度] = 初期値 {プロパティ文字列}   ―  学籍番号  int    [1]          {unique}    生徒 -学年 : int[1] = 1 -学籍番号 : int[1] {unique}

3-4 クラスその2 ∽(アドバンス) 操作(∽アドバンス)について 3-4 クラスその2 ∽(アドバンス) 操作(∽アドバンス)について クラスの操作は以下の形式で引数の入出力種別、引数のデフォルト値、プロパティ文字列を表記できる。 例・・・商品のクラス操作 ステレオタイプ 可視性 名前 (入出力種別 引数名 : 型 デフォルト値) : 戻り値型{プロパティ文字列}  ≪accessor≫    +  生徒名設定(  in   生徒名 : String デフォルト生徒):  void   生徒 ≪accessor≫+生徒名取得():String{concurrency=sequential} ≪accessor≫+生徒名設定(in 生徒名:String=デフォルト生徒):void

3-4 クラスその2 ∽(アドバンス) タグ付値、メタ属性(∽アドバンス) 3-4 クラスその2 ∽(アドバンス) タグ付値、メタ属性(∽アドバンス) タグ付値をUMLモデル要素に付けることにより、UMLのモデル要素に情報を付加することができる。 タグ付値はクラスのみの情報を表現する。 例・・・乗り物クラスを用いてのタグ付値の表記 乗り物 {abstract, 作成者=村上太一, 作成日=2013/5/8, ステータス=分析}

3-4 クラスその2 ∽(アドバンス) 派生属性(∽アドバンス) 3-4 クラスその2 ∽(アドバンス) 派生属性(∽アドバンス) 派生属性は、他の属性などから計算できる属性である。 例・・・「学校」クラスの「創立年数」は「開校年月日」と現在の日付から計算できるので、派生属性といえる 派生属性 学校 開校年月日 /創立年数

3-4 クラスその2 ∽(アドバンス) 派生関連(∽アドバンス) 3-4 クラスその2 ∽(アドバンス) 派生関連(∽アドバンス) 派生関連は、派生属性と同様に、他の関連からたどることができる関連である。 例・・・「祖父」クラスは「父」の関連を使うことで「祖父」から見て「私」は子供の子供であるといえる。 二重の経路で、関連が引かれたので「孫である」は派生関連と   なる。 祖父 父 私 子供である 子供である /孫である(派生関連)