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!");  
        }  
    }  
    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();  
        }  
    }  

输出:

this is the first sub!
this is the second sub!

 

posted @ 2017-11-24 19:44  M理论  阅读(503)  评论(0编辑  收藏  举报