Java设计模式_结构型_桥接模式_以不变应万变

来源:互联网 发布:始作俑者 其无后乎孟子 编辑:程序博客网 时间:2024/05/17 01:50

转载请注明出处:http://blog.csdn.net/ljmingcom304/article/details/50454759
本文出自:【梁敬明的博客】

1.桥接模式

  桥接模式就是将抽象角色与实现角色相分离,使其可以相对独立的变化,抽象角色与实现角色是组合的关系,也就是实现角色被抽象角色调用,用以来完成抽象角色的功能。

2.抽象角色

  存在一个抽象的国家角色,维护着一个人类角色的引用,人类角色可以旅游或者学习。同时也存在国家角色的继承类精确抽象的美国角色,将一个人的行为组合起来一边旅游一边学习。

public class Country {    protected Person person;    public Country(Person v) {        this.person = v;    }    public void doSomething1(){        person.travel();    }    public void doSomething2(){        person.learn();    }}public class America extends Country {    public America(Person person) {        super(person);    }    public void run() {        doSomething1();        doSomething2();    }}

3.实现角色

  实现角色可以定义一个接口,具体实现角色来通过实现接口来完成不同的功能。

public interface Person{    void travel();    void learn();}public class ZhangSan implements Person {    @Override    public void travel() {        System.out.println("张三去旅游");    }    @Override    public void learn() {        System.out.println("张三去学习");    }}

4.实现桥接

  现在将变化部分抽象出来,将变化的内容使用子类来进行实现。

public class Client {    public static void main(String[] args) {        Person person = new ZhangSan();        America america = new America(person);        america.run();    }}
0 0