桥接模式

23种创新模式总署
父文链接

桥接模式:将抽象化与实现化解耦,使得二者可以独立变化

代码:

public interface Sourceable {  
    public void method();  
}
public class SourceSub1 implements Sourceable {  
  
    @Override  
    public void method() {  
        System.out.println("this is the first sub!");  
    }  
}
public class SourceSub2 implements Sourceable {  
  
    @Override  
    public void method() {  
        System.out.println("this is the second sub!");  
    }  
} 

将 SourceSub1 SourceSub2 统一归桥调度

public abstract class Bridge {  
    private Sourceable source;  //遵循接口的对象
  
    public void method(){  
        source.method();  
    }  
      
    public Sourceable getSource() {  
        return source;  
    }  
  
    public void setSource(Sourceable source) {  
        this.source = source;  
    }  
}
public class MyBridge extends Bridge {  
    public void method(){  
        getSource().method();  
    }  
}

使用

public class BridgeTest {  
      
    public static void main(String[] args) {  
          
        Bridge bridge = new MyBridge();  
          
        /*调用第一个对象*/  
        Sourceable source1 = new SourceSub1();  
        bridge.setSource(source1);  
        bridge.method();  
          
        /*调用第二个对象*/  
        Sourceable source2 = new SourceSub2();  
        bridge.setSource(source2);  
        bridge.method();  
    }  
} 

注:通过对Bridge类的调用,实现了对接口Sourceable的实现类SourceSub1和SourceSub2的调用

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容