标签: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