Airbus, Boeing and McDonnell-Douglas are all aircraft manufacturers, and they all make Passenger Plane and Cargo Plane. It is now necessary to design a system that describes these aircraft manufacturers and the types of aircraft they make. Draw a class diagram and program the mock implementation.
Class Diagram:
Implementation code:
Abstract class Productor : package BridgePattern;
public abstract class Productor { protected Plane plane;
public void setPlane(Plane plane) { this.plane = plane; }
public abstract void product(); }
Extend the abstract class AirbusPro : package BridgePattern;
public class AirbusPro extends Productor { @Override public void product() { System.out.println("Airbus compary"); plane.createPlane();
} } Extend the abstract class McDonnellPro : package BridgePattern;
public class McDonnellPro extends Productor { @Override public void product() { System.out.println("McDonnell company"); plane.createPlane(); } } Extend the abstract class 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();
} } |