桥接模式:一些类之间的关系用关联(聚合、组合)来表示,而不是继承。
这个模式的解决的是类与类之间过多的继承关系,因为继承本身耦合度高的缺陷,过多使用继承会带来扩展困难,比如如果修改父类的功能就会直接影响到子类。而且也会因为继承的结构使得一些类的复用度不够高,出现代码重复的问题。
abstract class Implementor{
public abstract void Operation();
}
class ConcreteImplementorA extends Implementor{
public void Operation(){
System.out.println("具体实现A的方法执行");
}
}
class ConcreteImplementorB extends Implementor{
public void Operation(){
System.out.println("具体实现B的方法执行");
}
}
class Abstraction{
protected Implementor implementor;
public void setImplementor(Implementor implementor){
this.implementor = implementor;
}
public abstract void Operation();
}
class RefinedAbstraction extends Abstraction{
public void Operation(){
implementor.Operation();
}
}
public class Test(){
public static void main(String[] args){
Abstraction ab = new RefinedAbstraction();
ab.setImplementor(new ConcreteImplementorA());
ab.Operation();
ab.SetImplementor(new ConcreteImplementorB());
ab.Operation();
}
}