閱讀以下說(shuō)明和Java代碼,填充程序中的空缺,將解答填入答題紙的對(duì)應(yīng)欄內(nèi)。
【說(shuō)明】
某應(yīng)急交通控制系統(tǒng)(TraficControlSystem)在紅燈時(shí)控制各類(lèi)車(chē)輛 (Vehicle)的通行,其類(lèi)圖如圖6-1所示,在緊急狀態(tài)下應(yīng)急車(chē)輛在紅燈時(shí)可通行,其余車(chē)輛按正常規(guī)則通行。
下面的Java代碼實(shí)現(xiàn)以上設(shè)計(jì),請(qǐng)完善其中的空缺。
【Java 代碼 】
abstract class Vehicle {
public Vehicle( ) { }
abstract void run( );
};
interface Emergency {
(1) ;
(2) ;
};
class Car extends Vehicle {
public Car( ) { )
void run ( ) { /*代碼略*/ }
};
class Truck extends Vehicle {
public Truck( ) { }
void run ( ) { /*代碼略*/ }
};
class PoliceCar (3) {
boolean isEmergency = false;
public PoliceCar() { }
public PoliceCar(boolean b) { this.isEmergency=b; }
public boolean isEmergent( ) { return ( 4 ) ; }
public void runRedLight( ) { /*代碼略*/ }
};
/*類(lèi)Ambulance 、 FireEngine 實(shí)現(xiàn)代碼略*/
public class TraficControlSystem { /*交通控制類(lèi)*/
private Vehicle[ ] v = new Vehicle[24];
int numVehicles;
public void control( ) {
for (int i = 0; i < numVehicles; i++) {
if (v[i] instanceof EmErgency && ((Emergency)v[i]).
isEmergent()) {
( 5 ) .runRedLigh ( );
} else
( 6 ) .run ( ) ;
}
}
void add(Vehicle vehicle) { v[numVehicles++] = vehiclei} /*添加車(chē)輛*/
void shutDown() { /*代碼略* /}
public static void main (Str :.ng [ ] args) {
TraficControlSystem tcs = new TraficControlSystem();
tcs.add(new Car()};
tcs.add(new PoliceCar();
tcs.add(new Ambulance();
tcs.add(new Ambulance(t:ue));
tcs.add(new FireEngine( :rue));
tcs.add(new Truck());
tcs.add(new FireEngine( );
tcs.control();
tcs.shutDown();
}
}