空客(Airbus)、波音(Boeing)和麦道(McDonnell-Douglas)都是飞机制造商,它们都生产载客飞机(Passenger Plane)和载货飞机(Cargo Plane)。现需要设计一个系统,描述这些飞机制造商以及它们所制造的飞机种类。绘制类图并编程模拟实现。
类图:
实现代码:
抽象类Productor: package BridgePattern; public abstract class Productor { protected Plane plane; public void setPlane(Plane plane) { this.plane = plane; } public abstract void product(); } 扩充抽象类AirbusPro : package BridgePattern; public class AirbusPro extends Productor { @Override public void product() { System.out.println("Airbus compary"); plane.createPlane(); } } 扩充抽象类McDonnellPro : package BridgePattern; public class McDonnellPro extends Productor { @Override public void product() { System.out.println("McDonnell company"); plane.createPlane(); } } 扩充抽象类BoeingPro : package BridgePattern; public class BoeingPro extends Productor { @Override public void product() { System.out.println("Boeing company"); plane.createPlane(); } } 实现类接口Plane : package BridgePattern; public interface Plane { public void createPlane(); } 具体实现类PassengerPlane ; package BridgePattern; public class PassengerPlane implements Plane { @Override public void createPlane() { System.out.println("bulid a PassengerPlane"); } } 具体实现类CargoPlane ; package BridgePattern; public class CargoPlane implements Plane { @Override public void createPlane() { System.out.println("build a CargoPlane"); } } 客户端类Client (没使用配置文件): package BridgePattern; public class Client { public static void main(String[] args) { Productor productor; CargoPlane cargoPlane = new CargoPlane(); // PassengerPlane paplane =new PassengerPlane(); productor = new AirbusPro(); productor.setPlane(cargoPlane); productor.product(); } } |