桥接模式(Bridge),将抽象部分与它的实现部分分离,使它们都可以独立地变化。
主方法
public class main {
public static void main(String[] args) {
Abstraction ab = new RefinedAbstraction();
ab.setImplementor(new ConcreteImplementorA());
ab.Operation();
ab.setImplementor(new ConcreteImplementorB());
ab.Operation();
}
}
操作功能抽象类
/**
* 功能实现类
*/
public abstract class Implementor {
public abstract void operation();
}
操作派生类
/**
* 派生类A
*/
public class ConcreteImplementorA extends Implementor {
public void operation() {
System.out.println("具体实现A的方法执行");
}
}
/**
* 派生类B
*/
public class ConcreteImplementorB extends Implementor {
public void operation() {
System.out.println("具体实现B的方法执行");
}
}
抽象类
/**
* 抽象类
*/
public class Abstraction {
protected Implementor implementor;
public Implementor getImplementor() {
return implementor;
}
public void setImplementor(Implementor implementor) {
this.implementor = implementor;
}
public void Operation() {
implementor.operation();
}
}
被提炼的抽象类
public class RefinedAbstraction extends Abstraction {
public void Operation() {
implementor.operation();
}
}