CHAPTER1 UMLとオブジェクト指向の基本概念(2) FM10013 内藤健太
カプセル化 公開部分と非公開部分に分ける こと 情報隠蔽と呼ぶ
カプセル化 どこに誰の住民票が あるかは知らなくてよい 決まったフォーマットの書類を書いて渡すだけ 請求フォーマットが公開部分 役所内部での住民票の格納検索方法が非公開部分
カプセル化のメリット カプセル化には次の2つのメリットがある 外部からの不正なアクセスを防止 実装を変更してもクライアントに影響を 与えない
カプセル化 どこに誰の住民票が あるかは知らなくてよい 決まったフォーマットの書類を書いて渡すだけ 請求フォーマットが公開部分 役所内部での住民票の格納検索方法が非公開部分
メッセージ送信 オブジェクト同士のメッセージのやり取りを表現する ON ON 26℃ 26℃
関係 クラスとクラスを結び付けることでより複雑な情報 を表現することができる このクラスとクラスを結び付けるのに使用される のが関係
関係 関係には次のようなものが存在する 依頼する(会話する) 参照する 作成する 使用する(消費する) 状態を表現する 集約(する)
依頼する(会話する) 何かを依頼したり会話のやり取りをする関係 会話する
参照する あるオブジェクトが他のオブジェクトを参照する関係 参照する 定期券 田町⇔池袋 駅員
作成する あるオブジェクトが他のオブジェクトを作成する関係 作る
使用する(消費する) オブジェクトが他のオブジェクトを一時的に使用したり、消費したりする関係 使う
状態を表現する オブジェクトと他のオブジェクトとの関係で、その時のオブジェクトの状態を表現する 学生である 田中さん UML大学 行員である
集約(する) あるオブジェクトが他のオブジェクトの1部であったり、持っていたりする関係 自動車 タイヤ
複数の関係 同じクラス間でも複数の異なる関係を引くことができる 行員である お客である UML銀行 田中さん
ポリモフィズム 移動する 走行 航行 飛行
継承 商品 スーパークラス サブクラス かつ スーパークラス 食品 スポーツ 用品 電気製品 サブクラス
問題1 UMLで規定されていない図を選択しなさい ①クラス図 ②シーケンス図 ③アクション図 ④ユースケース図 ⑤配置図 ⑥コンポーネント図
問題2 パッケージに含まれるものを選択しなさい ① クラス ② オブジェクト ③ パッケージ ④ ①~③のすべて
問題3 ノートについて正しいものを選択しなさい ①クラスにつけるもの ②メッセージにつけるもの ③図につけるもの ④関連につけるもの ⑤モデル要素のすべてにつけて良いもの
問題4 カプセル化について記述した以下の文章で間違っている ものを選択しなさい ①特定の操作のみで外部とつながっており、それ以外は 内部に隠蔽されている ②隠蔽されている内部の変更は外から参照している側に は影響を与えないため、保守、拡張性が容易である ③外部にすべての情報を見せることで、あらゆるニーズに 対応することが可能である ④内部のデータが直接変更されることがないため、安全 である
問題5 継承について記述した以下の文章で正しいものを選択しなさい ①複数の異なるクラスの共通点に着目して、その共通部分のみを 下位のクラスに配置する ②継承の関係は「Has-A」の関係で表現できる ③継承の関係は「Is-A」の関係で表現できる ④スーパークラスで定義した属性のみがサブクラスに継承される