设计模式——桥接模式

时间:2019-08-10 19:50:29   收藏:0   阅读:98

这次来看下桥接模式,将抽象部分与实现部分分离,使它们都可以独立的变化。

对于类之间相互引用,但是变化又十分频繁,可以抽象出来放在抽象类里面进行聚合。

来看下类图:

技术分享图片

类图也很简单,没有什么复杂的地方,直接看下代码吧:

public abstract class RemoteControl {

    protected TV tv;

    public RemoteControl(TV tv) {
        this.tv = tv;
    }

    public void on() {
        tv.on();
    }

    public void off() {
        tv.off();
    }

    abstract void setChannel();
}

  

public class ConcreteRemote extends RemoteControl {

    public ConcreteRemote(TV tv) {
        super(tv);
    }

    @Override
    void setChannel() {
        tv.tuneChannel();
    }
}

  

public interface TV {

    void on();

    void off();

    void tuneChannel();
}

  

public class Sony implements TV {

    @Override
    public void on() {
        System.out.println("索尼电视机打开了");
    }

    @Override
    public void off() {
        System.out.println("索尼电视机关闭了");
    }

    @Override
    public void tuneChannel() {
        System.out.println("索尼电视机换频道了");
    }
}

  

public class Sharp implements TV {

    @Override
    public void on() {
        System.out.println("夏普电视机打开了");
    }

    @Override
    public void off() {
        System.out.println("夏普电视机关闭了");
    }

    @Override
    public void tuneChannel() {
        System.out.println("夏普电视机换频道了");
    }
}

  

 

原文:https://www.cnblogs.com/shenqiaqia/p/11332581.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!