Design Patterns - Bridge Patterns

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();

 

    }

}



Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=324734399&siteId=291194637