故事的开始要从一场3v3说起! 敌我双方要生成3个法师,,横坐标代表法师的属性, 纵坐标是他们要去的位置 我们选择的时候 他们之间并没有什么关系,因此要想办法将他们关联起来; 例如是酒桶这个坦克法师是去打辅助还是中单 还是上单的问题; 如果每次都生成坦克法师,在生成要去的位置,那么工作量太大;
桥接模式生成影响的原理是
生产对应的法师(刺客,坦克,脆皮); 在参数里选择对应的位置 (中单,辅助,上单);
这样就产生了关联!
1定义一个法师接口
package qiaojie;
//定义类型 是法师 刺客还是战士
public interface FaShi {
void info();
}
2,生产三种法师(刺客,脆皮,坦克)
public class Cikefashi implements FaShi{
@Override
public void info() {
System.out.print("刺客法师");
}
}
public class TanKeFashi implements FaShi{
@Override
public void info() {
System.out.print("坦克法师");
}
}
3.产生对应的位置 在对应位置上设置对应的法师
public abstract class Mid {
//组合 法师中单 坦克法师中单
protected FaShi fashi;
public Mid(FaShi fashi){
this.fashi=fashi;
}
public void info(){
fashi.info();
}
}
class ZelaSi extends Mid{
public ZelaSi(FaShi faShi){
super(faShi);
}
@Override
public void info() {
super.info();
System.out.println("泽拉斯");
}
}
class JiuTong extends Mid{
public JiuTong(FaShi faShi){
super(faShi);
}
@Override
public void info() {
super.info();
System.out.println("酒桶");
}
}
测试
public class test {
public static void main(String[] args) {
Mid mid=new ZelaSi(new Cikefashi());
mid.info();
Mid mid1=new JiuTong(new TanKeFashi());
mid1.info();
}
}