Gadget has-a Sprocket and Gadget has-a Spring and Gadget is-a Widget and Widget has-a
Sprocket 以下哪两段代码可以表示这个关系? (选择两项) ( )
class Widget { Sprocket s; }
class Gadget extends Widget { Spring s; }
class Widget { }
class Gadget extends Widget { Spring s1; Sprocket s2; }
class Widget { Sprocket s1; Spring s2; }
class Gadget extends Widget { }
class Gadget { Spring s; }
class Widget extends Gadget{ Sprocket s; }
class Widget { Sprocket s; } class Gadget extends Widget { Spring s; }完全符合要求,这里的结论1虽然没有明确表明,但是因为结论3(Gadget继承了Widget)的存在,即父类中的非私有成员(Sprocket)子类都默认拥有。故结论都成立。
class Widget { } class Gadget extends Widget { Spring s1; Sprocket s2; }结论123成立,但是没有表明结论4。
class Widget { Sprocket s1; Spring s2; } class Gadget extends Widget { }完全符合要求,这里的结论12虽然没有明确表明,但是因为结论3(Gadget继承了Widget)的存在,即父类中的非私有成员(Sprocket和Spring)子类都默认拥有。故结论都成立。
class Gadget { Spring s; } class Widget extends Gadget{ Sprocket s; }结论24成立,但是结论13没有表明。这里只是表明了Widget继承了Gadget,并且Widget具有对Spring的引用。