java: Bridge Pattern

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
/**
 * 版权所有 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();
 
 
 
}

  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
/**
 * 版权所有 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();
 
 
}

  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
/**
 * 版权所有 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();
 
}

  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
/**
 * 版权所有 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 麥道研究中心");
    }
 
 
 
 
}

  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
/**
 * 版权所有 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 空客矼究中心");
    }
 
 
 
}

  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
/**
 * 版权所有 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 波音研究中心");
    }
 
}

  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
/**
 * 版权所有 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 载货飞机");
    }
 
}

  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
/**
 * 版权所有 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 载客飞机");
    }
}

  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
/**
 * 版权所有 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("空客 载货飞机");
    }
}

  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
/**
 * 版权所有 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("空客 载客飞机");
    }
}

  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
/**
 * 版权所有 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("波音 载货飞机");
    }
}

  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
/**
 * 版权所有 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("波音 载客飞机");
    }
}

  

调用测试:

1
2
3
4
5
6
7
8
//橋梁(桥接)模式
           BoeingPassengerPlane boeingPassengerPlane=new BoeingPassengerPlane();
           boeingPassengerPlane.PassengerPlaneFly();
           boeingPassengerPlane.fly();
 
           BoeingCargoPlane boeingCargoPlane=new BoeingCargoPlane();
           boeingCargoPlane.CargoplaneFly();
           boeingCargoPlane.fly();

  输出:

1
2
3
4
波音 载客飞机
Boeing fly 波音研究中心
波音 载货飞机
Boeing fly 波音研究中心

  

 

posted @   ®Geovin Du Dream Park™  阅读(13)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示