标签:mic oid osi uil super abstract com 地方 div
这次来看下桥接模式,将抽象部分与实现部分分离,使它们都可以独立的变化。
对于类之间相互引用,但是变化又十分频繁,可以抽象出来放在抽象类里面进行聚合。
来看下类图:

类图也很简单,没有什么复杂的地方,直接看下代码吧:
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("夏普电视机换频道了");
}
}
标签:mic oid osi uil super abstract com 地方 div
原文地址:https://www.cnblogs.com/shenqiaqia/p/11332581.html