装饰模式实例与解析 实例一:变形金刚 | 您所在的位置:网站首页 › scrapmetal变形金刚 › 装饰模式实例与解析 实例一:变形金刚 |
实例一:变形金刚 变形金刚在变形之前是一辆汽车,它可以在陆地上移动。当它变成机器人之后除了能够在陆地上移动之外,还可以说话;如果需要,它还可以变成飞机,除了在陆地上移动还可以在天空中飞翔。 public class Airplane extends Changer { public Airplane(Transform transform) { super(transform); System.out.println("变成飞机!"); } public void fly() { System.out.println("在天空飞翔!"); } } public final class Car implements Transform { public Car() { System.out.println("变形金刚是一辆车!"); } public void move() { System.out.println("在陆地上移动!"); } } public class Changer implements Transform { private Transform transform; public Changer(Transform transform) { this.transform=transform; } public void move() { transform.move(); } } public class Client { public static void main(String args[]) { Transform camaro; camaro=new Car(); camaro.move(); System.out.println("-----------------------------"); Airplane bumblebee=new Airplane(camaro); bumblebee.move(); bumblebee.fly(); } } public class Robot extends Changer { public Robot(Transform transform) { super(transform); System.out.println("变成机器人!"); } public void say() { System.out.println("说话!"); } } public interface Transform { public void move(); }
|
CopyRight 2018-2019 实验室设备网 版权所有 |