Ich wurde für die Java Certified Professional Prüfung einige Beispielfragen, Abstimmen und wollte etwas Klarheit über die Antwort auf eine der Fragen erhalten:Java ‚hat-ein‘ Verhältnis Erklärung
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
Die Antwort vorgesehen ist : C, D und F
ich, warum C und F korrekt ist, aber ich bin nicht so sicher D.
Mein Verständnis der ‚hat-eine‘ Beziehung, wie sie auf das Objekt beziehen -orientierten Kontext ist, dass wenn A ein Z hat, das bedeutet, dass Klasse A entweder eine Elementvariable (oder attribut) hat e wie es manchmal genannt wird) genannt Z (oder vom Typ Z), OR, das gleiche gilt über die Vererbung, was bedeutet, wenn Klasse A erweitert Klasse B und Klasse B hat ein Z, dann ist es richtig zu sagen, dass Klasse A hat auch ein Z (durch Vererbung).
Von was ich sehe, hat Class3 c1 und hat ein i3, und da Class3 keine Klassen erweitert, ist das, wo die 'hat-a' Beziehung endet.
Ich sehe, dass Class3 hat eine Class2, und Class2 hat eine Class1, und Class1 hat eine v1, aber ich wusste nicht, dass das bedeutet, dass Class3 hat eine v1, scheint mir, dass Class1 hat eine v1.
Dies ist direkt von der Oracle-Website:
http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getpage?page_id=303&p_certName=SQ1Z0_804
Ich fühle mich nutzlos XD – Adalcar