码迷,mamicode.com
首页 > 其他好文 > 详细

桥接模式

时间:2020-07-12 20:50:18      阅读:54      评论:0      收藏:0      [点我收藏+]

标签:new   构造   request   void   bst   ret   class   err   abs   

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

 

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

}

 

桥接模式

标签:new   构造   request   void   bst   ret   class   err   abs   

原文地址:https://www.cnblogs.com/lzh66/p/13289668.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!