桥接模式
处理多层继承结构、处理多维度变化场景。
使得扩展更方便。
//要新建一个brand时在此新建一个类
public interface Brand {
void say();
}
class Makka implements Brand{
@Override
public void say() {
System.out.println("这里是Makka");
}
}
class Upsy implements Brand{
@Override
public void say() {
System.out.println("这里是Upsy");
}
}
//要多另一个人的Garden,在此新建。
public class Garden {
protected Brand brand;
public Garden(Brand brand) {
this.brand = brand;
}
public void say(){
brand.say();
}
}
class MyGarden extends Garden{
public MyGarden(Brand brand) {
super(brand);
}
@Override
public void say() {
super.say();
System.out.println("我的花园!");
}
}
class YourGarden extends Garden{
public YourGarden(Brand brand) {
super(brand);
}
@Override
public void say() {
super.say();
System.out.println("这是你的花园!");
}
}