桥接模式

对于个人的理解来说,桥接模式就是有两个抽象类,其中一个类有另一个类的引用,然后对于两个抽象类的子类来说,就有了一种聚合的关系.

 

public abstract class Abstraction {

    private Implementor imp;

    //约束子类必须实现该构造函数
    public Abstraction(Implementor imp) {
        this.imp = imp;
    }

    public Implementor getImp() {
        return imp;
    }

    //自身的行为和属性
    public void request() {
        this.imp.doSomething();
    }

}

 

public abstract class Implementor {
2 
3     public abstract void doSomething();
4     public abstract void doAnything();
5     
6 }

 

public class ConcreteImplementorA extends Implementor {

    @Override
    public void doSomething() {
        System.out.println("具体实现A的doSomething执行");
    }

    @Override
    public void doAnything() {
        System.out.println("具体实现A的doAnything执行");
    }
}

 

public class RefinedAbstraction extends Abstraction {

    //覆写构造函数
    public RefinedAbstraction(Implementor imp) {
        super(imp);
    }

    //修正父类行为
    @Override
    public void request() {
        super.request();
        super.getImp().doAnything();
    }

}

 

public class Client {

    public static void main(String[] args) {
        Implementor imp = new ConcreteImplementorA();
        Abstraction abs = new RefinedAbstraction(imp);
        abs.request();
    }

}

 

posted @ 2020-07-12 20:16  jesscia5  阅读(163)  评论(0编辑  收藏  举报