2016-09-14 12 views
-2

を私はJavaの認定プロフェッショナル試験のためのいくつかのサンプルの質問を検討し、質問の1への答えにいくつかの明確さを取得したいた:Javaは「は、」関係の説明

2. Given: 

class Class1 { 
String v1; 
} 
class Class2 { 
Class1 c1; 
String v2; 
} 
public class Class3 { 
Class2 c1; 
String i3; 
} 

Which three options correctly describe the relationship between the classes? 
A) Class2 has-a i3 
B) Class1 has-a v2 
C) Class2 has-a v2 
D) Class3 has-a v1 
E) Class2 has-a Class3 
F) Class2 has-a Class1 

提供答えがあります:C、D、およびF

CとFが正しいなぜ私が得るが、私はD.

についてとてもよく分からない

の私の理解「は、」はオブジェクトに関係するような関係「AにZがある」ということは、クラスAにメンバー変数(または属性)があることを意味しますクラスAがクラスBを継承し、クラスBがZを持つ場合、クラスAが持つことを意味する(つまり、ときどき呼び出されるe)、継承を介して同じことが真である。 Zも同様に(継承を介して)。私が見たものから、

、Class3には、C1を持ち、I3を持ち、Class3には、任意のクラスを拡張しないため、「は、」関係が終わるところ、それはあります。

Class3にClass2があり、Class2にClass1があり、Class1にv1がありますが、Class3にv1があることを認識できませんでした。Class1にv1があるようです。

これは、OracleのWebサイトからまっすぐです:

http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getpage?page_id=303&p_certName=SQ1Z0_804

答えて

1

Class3には、V1と呼ばれる文字列を持っているC1と呼ばれるクラス1を持っているC1と呼ばれるクラス2を持っている

ので、Class3にはV1を持っていますClass3.c1.c1.v1

1

いつかあなた自身の質問を読むことが役立つと思います。それは車の事例からです。自動車にはエンジンがあり、エンジンにはピストンがあるため、自動車にはピストンがあります。オブジェクト指向の世界ではちょっと変わったようですが、私の理解ははずれていました。私は今それを得ると思います。

+0

私は役に立たないと感じるXD – Adalcar

0

A を有し、関係は、オブジェクト格納のために使用されます。オブジェクトは別のオブジェクトを含んでいます。また、組成物と名付けることもできる。

たとえば、車には音楽システムがあり、音楽システムにはスピーカーがあります。したがって、車にはスピーカーがあります。

'has-a'関係が発生するクラスにエンティティ参照がある場合。私は、集合。

、Class3にはClass2のエンティティ参照が含まれ、Class2にはClass1のエンティティ参照が含まれているため、オプションDは正しいです。

したがって、Class3にのオブジェクトは、クラス2の特性を有するクラス2オブジェクトはクラス1の特性を有するように、Class3には、「凝集/ HAS-A」と呼ばれるクラス1の関係を有しています。

Class1にはv1があり、Class3のオブジェクトにはv1のプロパティ値が含まれていることを意味します。

関連する問題