java: Bridge Pattern

 

/**
 * 版权所有 2022 涂聚文有限公司
 * 许可信息查看:
 * 描述:
 * 桥梁模式 Bridge Patterns
 * 历史版本: JDK 14.02
 * 2022-09-12 创建者 geovindu
 * 2022-09-12 添加 Lambda
 * 2022-09-12 修改:date
 * 接口类
 * 2022-09-12 修改者:Geovin Du
 * 生成API帮助文档的指令:
 *javadoc - -encoding Utf-8 -d apidoc Airplane.java
 *
 * */

package com.javapatterns.bridge;

/**
 *飞机核心
 *@author geovindu
 * */
public interface Airplane {

   /**
    * 飞吧
    * */
   public  void fly();



}

  

/**
 * 版权所有 2022 涂聚文有限公司
 * 许可信息查看:
 * 描述:
 * 桥梁模式 Bridge Patterns
 * 历史版本: JDK 14.02
 * 2022-09-12 创建者 geovindu
 * 2022-09-12 添加 Lambda
 * 2022-09-12 修改:date
 * 接口类
 * 2022-09-12 修改者:Geovin Du
 * 生成API帮助文档的指令:
 *javadoc - -encoding Utf-8 -d apidoc CargoPlane.java
 *
 * */


package com.javapatterns.bridge;


/**
 * 載貨飛機
 *@author geovindu
 * */
public interface  CargoPlane extends Airplane {


    public void fly();

    public  void CargoplaneFly();


}

  

/**
 * 版权所有 2022 涂聚文有限公司
 * 许可信息查看:
 * 描述:
 * 桥梁模式 Bridge Patterns
 * 历史版本: JDK 14.02
 * 2022-09-12 创建者 geovindu
 * 2022-09-12 添加 Lambda
 * 2022-09-12 修改:date
 * 接口类
 * 2022-09-12 修改者:Geovin Du
 * 生成API帮助文档的指令:
 *javadoc - -encoding Utf-8 -d apidoc PassengerPlane.java
 *
 * */


package com.javapatterns.bridge;


/**
 * 載客飛機
 *@author geovindu
 * */
public interface PassengerPlane extends Airplane{

    public void fly();

    public  void PassengerPlaneFly();

}

  

/**
 * 版权所有 2022 涂聚文有限公司
 * 许可信息查看:
 * 描述:
 * 桥梁模式 Bridge Patterns
 * 历史版本: JDK 14.02
 * 2022-09-12 创建者 geovindu
 * 2022-09-12 添加 Lambda
 * 2022-09-12 修改:date
 * 接口类
 * 2022-09-12 修改者:Geovin Du
 * 生成API帮助文档的指令:
 *javadoc - -encoding Utf-8 -d apidoc MD.java
 *
 * */


package com.javapatterns.bridge;


/**
 *麦道飞机公司
 * @author geovindu
 * */
public class MD implements Airplane{


    /**
     *
     *
     * */
    public void fly()
    {
       System.out.println("McDonnell-Douglas fly 麥道研究中心");
    }




}

  

/**
 * 版权所有 2022 涂聚文有限公司
 * 许可信息查看:
 * 描述:
 * 桥梁模式 Bridge Patterns
 * 历史版本: JDK 14.02
 * 2022-09-12 创建者 geovindu
 * 2022-09-12 添加 Lambda
 * 2022-09-12 修改:date
 * 接口类
 * 2022-09-12 修改者:Geovin Du
 * 生成API帮助文档的指令:
 *javadoc - -encoding Utf-8 -d apidoc Airbus.java
 *
 * */
package com.javapatterns.bridge;


/**
 * 空客飛機公司
 *@author geovindu
 * */
public class Airbus  implements Airplane{


    public void fly()
    {
        System.out.println("Airbus fly 空客矼究中心");
    }



}

  

/**
 * 版权所有 2022 涂聚文有限公司
 * 许可信息查看:
 * 描述:
 * 桥梁模式 Bridge Patterns
 * 历史版本: JDK 14.02
 * 2022-09-12 创建者 geovindu
 * 2022-09-12 添加 Lambda
 * 2022-09-12 修改:date
 * 接口类
 * 2022-09-12 修改者:Geovin Du
 * 生成API帮助文档的指令:
 *javadoc - -encoding Utf-8 -d apidoc Boeing.java
 *
 * */

package com.javapatterns.bridge;


/**
 * 波音飞机公司
 *@author geovindu
 * */
public class Boeing  implements Airplane{


    /**
     *
     *
     * */
    public void fly()
    {
        System.out.println("Boeing fly 波音研究中心");
    }

}

  

/**
 * 版权所有 2022 涂聚文有限公司
 * 许可信息查看:
 * 描述:
 * 桥梁模式 Bridge Patterns
 * 历史版本: JDK 14.02
 * 2022-09-12 创建者 geovindu
 * 2022-09-12 添加 Lambda
 * 2022-09-12 修改:date
 * 接口类
 * 2022-09-12 修改者:Geovin Du
 * 生成API帮助文档的指令:
 *javadoc - -encoding Utf-8 -d apidoc MDCargoPlane.java
 *
 * */


package com.javapatterns.bridge;
/**
 *麦道载货飞机
 *@author geovindu
 * */
public class MDCargoPlane  extends MD implements CargoPlane{

    @Override
    public void fly() {
        super.fly();
    }

    @Override
    public void CargoplaneFly() {
        System.out.println("MD 载货飞机");
    }

}

  

/**
 * 版权所有 2022 涂聚文有限公司
 * 许可信息查看:
 * 描述:
 * 桥梁模式 Bridge Patterns
 * 历史版本: JDK 14.02
 * 2022-09-12 创建者 geovindu
 * 2022-09-12 添加 Lambda
 * 2022-09-12 修改:date
 * 接口类
 * 2022-09-12 修改者:Geovin Du
 * 生成API帮助文档的指令:
 *javadoc - -encoding Utf-8 -d apidoc MDPassengerPlane.java
 *
 * */


package com.javapatterns.bridge;
/**
 *麦道载客飞机
 *@author geovindu
 * */
public class MDPassengerPlane  extends MD implements PassengerPlane{

    @Override
    public void fly() {
        super.fly();
    }

    @Override
    public void PassengerPlaneFly() {
        System.out.println("MD 载客飞机");
    }
}

  

/**
 * 版权所有 2022 涂聚文有限公司
 * 许可信息查看:
 * 描述:
 * 桥梁模式 Bridge Patterns
 * 历史版本: JDK 14.02
 * 2022-09-12 创建者 geovindu
 * 2022-09-12 添加 Lambda
 * 2022-09-12 修改:date
 * 接口类
 * 2022-09-12 修改者:Geovin Du
 * 生成API帮助文档的指令:
 *javadoc - -encoding Utf-8 -d apidoc AirbusCargoPlane.java
 *
 * */


package com.javapatterns.bridge;
/**
 *空客载货飞机
 *@author geovindu
 * */
public class AirbusCargoPlane  extends Airbus implements CargoPlane{


    @Override
    public void fly() {
        super.fly();
    }

    @Override
    public void CargoplaneFly() {
        System.out.println("空客 载货飞机");
    }
}

  

/**
 * 版权所有 2022 涂聚文有限公司
 * 许可信息查看:
 * 描述:
 * 桥梁模式 Bridge Patterns
 * 历史版本: JDK 14.02
 * 2022-09-12 创建者 geovindu
 * 2022-09-12 添加 Lambda
 * 2022-09-12 修改:date
 * 接口类
 * 2022-09-12 修改者:Geovin Du
 * 生成API帮助文档的指令:
 *javadoc - -encoding Utf-8 -d apidoc AirbusPassengerPlane.java
 *
 * */

package com.javapatterns.bridge;
/**
 *空客载客飞机
 *@author geovindu
 * */
public class AirbusPassengerPlane  extends Airbus implements PassengerPlane{

    @Override
    public void fly() {
        super.fly();
    }

    @Override
    public void PassengerPlaneFly() {
        System.out.println("空客 载客飞机");
    }
}

  

/**
 * 版权所有 2022 涂聚文有限公司
 * 许可信息查看:
 * 描述:
 * 桥梁模式 Bridge Patterns
 * 历史版本: JDK 14.02
 * 2022-09-12 创建者 geovindu
 * 2022-09-12 添加 Lambda
 * 2022-09-12 修改:date
 * 接口类
 * 2022-09-12 修改者:Geovin Du
 * 生成API帮助文档的指令:
 *javadoc - -encoding Utf-8 -d apidoc BoeingCargoPlane.java
 *
 * */


package com.javapatterns.bridge;
/**
 *波音载货飞机
 *@author geovindu
 * */
public class BoeingCargoPlane  extends Boeing implements CargoPlane{

    @Override
    public void fly() {
        super.fly();
    }

    @Override
    public void CargoplaneFly() {
        System.out.println("波音 载货飞机");
    }
}

  

/**
 * 版权所有 2022 涂聚文有限公司
 * 许可信息查看:
 * 描述:
 * 桥梁模式 Bridge Patterns
 * 历史版本: JDK 14.02
 * 2022-09-12 创建者 geovindu
 * 2022-09-12 添加 Lambda
 * 2022-09-12 修改:date
 * 接口类
 * 2022-09-12 修改者:Geovin Du
 * 生成API帮助文档的指令:
 *javadoc - -encoding Utf-8 -d apidoc BoeingPassengerPlane.java
 *
 * */


package com.javapatterns.bridge;

/**
 *波音载客飞机
 *@author geovindu
 * */
public class BoeingPassengerPlane  extends Boeing implements PassengerPlane{

    @Override
    public void fly() {
        super.fly();
    }

    @Override
    public void PassengerPlaneFly() {
        System.out.println("波音 载客飞机");
    }
}

  

调用测试:

 //橋梁(桥接)模式
            BoeingPassengerPlane boeingPassengerPlane=new BoeingPassengerPlane();
            boeingPassengerPlane.PassengerPlaneFly();
            boeingPassengerPlane.fly();

            BoeingCargoPlane boeingCargoPlane=new BoeingCargoPlane();
            boeingCargoPlane.CargoplaneFly();
            boeingCargoPlane.fly();

  输出:

波音 载客飞机
Boeing fly 波音研究中心
波音 载货飞机
Boeing fly 波音研究中心

  

 

posted @ 2022-09-20 21:42  ®Geovin Du Dream Park™  阅读(12)  评论(0编辑  收藏  举报