4、(选做)继承性可以表示is-a(完全继承基类的属性)或is-like-a(增加了自己的属性)的关系,而组合可以表示has的关系。例如,一辆Car有(has)四个轮子(Wheels)和一个发动机(Engine)。现在用组合方法要求设计类Car、类Wheel和类Engine(每个类采用一个独立文件保存),其中Car类有入口方法main():
(1) 类Engine用属性type记录发动机的型号,用方法start()启动引擎(显示下面示例中包含start的字符串)。
代码如下:
public class Engine extends Car{
String type="Mode L";
Engine(String model, String[] wheels, String engine) {
super(model, wheels, engine);
// TODO Auto-generated constructor stub
}
Engine(String type){
super(type);
this.type=type;
}
void start(){
System.out.println("Engine<"+type+"> starts!");
}
}
(2) 类Wheel用属性type记录轮胎的型号,整数类型属性index记录当前轮胎编号(1-前左,2-前右,3-后左,4-后右),用方法roll()表示轮胎正在转动(显示下面示例中包含rolling的字符串),代码如下:
public cla