作成日 2010/12/26 最終更新日 2010/12/26
問題2.1(問題タイトル:依存)
オブジェクト指向設計についての問題(中級レベル)です。
問題タイトル:依存
重要度:★★★★★(非常に重要)
難易度:★★★☆☆(普通)
問題タイトル:依存
重要度:★★★★★(非常に重要)
難易度:★★★☆☆(普通)
問題:依存の例として、a〜dの中で「クラスAがクラスBに依存している」ものとして、一般的に図1のクラス図のような破線矢印で表記するものをすべて 選べ。
図1
a.クラスAはクラスBを属性に持っている
b.クラスAはクラスBを属性に持たないが、メソッドやコンストラクタ内で一時的にnewする
c.クラスAはクラスBを属性に持たないが、メソッドやコンストラクタ内でクラスBのクラススコープのメソッドを呼び出す。
d.クラスAはクラスBを実現している(クラスBは正確にはインタフェース。)。
※Javaなら、「class クラスA implements クラスB」。
VBAなら、クラスAの先頭で「Implements クラスB」(クラスA、クラスBともにクラスモジュール)。
問題文終わり
注意:これ以上、下にスクロールすると解答・解説が見えちゃいます。
解答:b,c
解説:
依存は、本当に良く出てきますから、理解しておく必要があります。
一応、UML2.0では「依存は、1つのモデル要素またはモデル要素の集合が仕様または実装のために他のモデル要素を必要とすることを意味する関係である」となっていますが、難しいので忘れましょう。
まあ、とりあえず、解説すると、
a.関連(関連していれば依存もしている気がするが、通常、関連の方しか描かない。)
b.生成(正しい)
c.呼び出し(正しい)
d.実現は依存の一種なので間違いではないのですが、一般的には以下のように表記するのでNG。
図2
です。
それから、依存は、クラス図に一般に表記しないことが多いです。
しかし、今回は、表記しないからといって理解しなくて良いことにはならない(というか、依存についてはどのようなものか理解しておく必要があるし、OCUP ファンダメンタル の出題範囲でもある)、ということで出題しました。
このページを作成する際に参考にしたページや、もっと勉強したい人向けの資料です。
番号
リンク先の名称
リンク先の説明
リンクした日
1
依存 - だるまのエクセルVBA
意味の良くわからないわりに高頻度で出てくる「依存」についてその意味と設計時の方針などについて説明しています。
2010/12/26
このページの利用によって発生した、いかなる損害について、このホームページの作成者は責任を負いません。
このページの間違いや嘘を見つけた方、このページに書いて欲しい情報がある方は
メール をお願いします。
Microsoft 、Windows 、Visual Basic および Excel は米国Microsoft
Corporationの米国およびその他の国における登録商標または商標です。
ここではExcel® をエクセル、Visual Basic® for Applications をVBAと表記する場合があります。
Mac 、Mac OS
、Mac OS
X は米国Apple
Computer,Inc.の登録商標または商標です。
OMG、UML、Unified Modeling Languageは、Object Management Groupの商標または登録商標です。
その他、社名および商品名、システム名称などは、一般に各社の商標または登録商標です。
このホームページの作成者はこれらの会社とはいっさい関係がありません。