-------------------------------------------------------【程序设计】---------------------------------------------------------1【考查点】KTA_O18 框架的设计与定义KTA_O19 重用主程序框架2【业务背景】假设你是一位赛车游戏开发人员。在游戏中有汽车类Car它有一个动力系统Powe
class Car {
private String brand;
private Power power;
public void setBrand(String brand) {
this.brand = brand;
}
public void setPower(Power power) {
this.power = power;
}
public Power getPower() {
return power;
}
public void start() {
System.out.println("汽车启动了");
}
public void run() {
System.out.println("汽车行驶中");
}
public void stop() {
System.out.println("汽车停止了");
}
}
interface Power {
double outputPower();
void recharge();
}
abstract class Oil {
public double outputPower() {
return 0.0;
}
public void addOil() {
}
public void recharge() {
}
}
abstract class Electricity {
public double outputPower() {
return 0.0;
}
public void recharge() {
}
}
class Oil95 extends Oil {
public double outputPower() {
return 95.0;
}
public void addOil() {
System.out.println("加95号汽油");
}
}
class Oil98 extends Oil {
public double outputPower() {
return 98.0;
}
public void addOil() {
System.out.println("加98号汽油");
}
}
class Hydrogen extends Electricity {
public double outputPower() {
return 120.0;
}
public void recharge() {
System.out.println("加氢");
}
}
class Lithium extends Electricity {
public double outputPower() {
return 150.0;
}
public void recharge() {
System.out.println("充电");
}
}
public class Prog1{
public static void main(String[] args) {
Car car = new Car();
car.setBrand("奔驰");
Power oil = new Oil95();
car.setPower(oil);
car.start();
car.run();
System.out.println("输出动力:" + car.getPower().outputPower());
car.getPower().recharge();
car.stop();
car.setPower(new Hydrogen());
car.start();
car.run();
System.out.println("输出动力:" + car.getPower().outputPower());
car.getPower().recharge();
car.stop();
}
}
``
原文地址: http://www.cveoy.top/t/topic/hXHh 著作权归作者所有。请勿转载和采集!