#桥接模式
interface interface2{
void method();
}
class Source1 implements interface2{
@Override
public void method(){
//
}
}
class Source2 implements interface2{
@Override
public void method(){
//
}
}
abstract class Bridge implements interface2{
private interface2 interface2;
@Override
public void method(){
interface2.method();
}
public void setInterface2(interface2 interface2){
this.interface2=interface2;
}
public interface2 getInterface2(){
return interface2;
}
}
class MyBridge extends Bridge{
@Override
public void method() {
getInterface2().method();
}
public void test(){
Bridge bridge=new MyBridge();
Source1 source1=new Source1();
bridge.setInterface2(source1);
bridge.method();
Source2 source2=new Source2();
bridge.setInterface2(source2);
bridge.method();
}
}