我正在尝试装饰器.我创建了一个Tank类和两个装饰器:DoubleGunTank(射击更强大)和FasterTank(驱动更快).他们来了:
public class Tank {
public int shoot() {
return 100;
}
public int drive() {
return 10;
}
}
public class FasterTank extends Tank {
protected Tank fTank;
public FasterTank(Tank tank) {
fTank = tank;
}
public int drive() {
return fTank.drive() * 2;
}
}
public class DoubleGunTank extends Tank {
protected Tank fTank;
public DoubleGunTank(Tank tank) {
fTank = tank;
}
public int shoot() {
return fTank.shoot() * 2;
}
}
Run Code Online (Sandbox Code Playgroud)
我要做的是用双枪和超高速装饰一辆坦克.所以我这样做:
Tank czolg = new Tank(); …Run Code Online (Sandbox Code Playgroud)