设计模式-桥接模式

来源:互联网 发布:手机投影画画软件 编辑:程序博客网 时间:2024/06/03 00:46
        桥接模式是为了不通过继承来聚合类与类之间的关系。

示例代码:

定义一个接口。

public interface BridgeInterface {    public void Function();}

接口实现类

public class InterfaceImplA implements BridgeInterface {    @Override    public void Function() {        System.out.println("ImplA执行了Function方法");    }}

抽象类,用于扩展。

public abstract class BridgeAbstaction {    // 持有一个BridgeInterface接口对象    private BridgeInterface bridgeInterface;    public BridgeAbstaction(BridgeInterface bridgeInterface) {        this.bridgeInterface = bridgeInterface;    }    // 可能需要被调用的实现。    public void operation() {        bridgeInterface.Function();    }}

抽象实现类

public class AbstactionImpl extends BridgeAbstaction {    public AbstactionImpl(BridgeInterface bridgeInterface) {        super(bridgeInterface);    }    /**     * 这样代码就可以扩展开来了。     */    public void otherOperation() {    }}

客户端调用

public class TestBridge {    public static void main(String[] args) {        InterfaceImplA interfaceImplA = new InterfaceImplA();        interfaceImplA.Function();        AbstactionImpl abstactionImpl = new AbstactionImpl(interfaceImplA);        abstactionImpl.otherOperation();    }}
0 0