Given that: Gadget has-a Sprocket and Gadget has-a Spring and Gadget is-a Widget and Widget
has-a Sprocket Which two code fragments represent these relationships? (Choose two.)
A.
class Widget { Sprocket s; }
class Gadget extends Widget { Spring s; }
B.
class Widget { }
class Gadget extends Widget { Spring s1; Sprocket s2; }
C.
class Widget { Sprocket s1; Spring s2; }
class Gadget extends Widget { }
D.
class Gadget { Spring s; }
class Widget extends Gadget{ Sprocket s; }
E.
class Gadget { }
class Widget extends Gadget{ Sprocket s1; Spring s2; }
F.
class Gadget { Spring s1; Sprocket s2; }
class Widget extends Gadget{ }
A and C, quite simple!
Answer is A and C
Explanation
HAS-A Relationship
——————-
Has-A means an instance of one class “has a” reference to an instance of another class or another instance of same class.
It is also known as “composition” or “aggregation”.
There is no specific keyword to implement HAS-A relationship but mostly we are depended upon “new” keyword.
Composition :
IS-A Relationship :
——————————
This refers to inheritance or implementation.
IS -A relationship Expressed using keyword “extends”.