package 适配器模式;
/**
*
* 适配器的作用就是一个桥梁, 把两个或者多个对象能够进行关联起来, 不想干的对象之间进行关联的话, 一般也就只能通过
*
* 继承, 对象属性, 实现接口,这三种形式来进行关联起来。 所以,我们做的玩法也就是在这个三种方式中进行处理。
*
* 目的就是一个,把不相关的类进行关联起来。 然后返回的结果是一个需要的,或者是支持现在系统的数据格式和数据模型。
*
*
* 模拟场景: 易建联进入NBA, 中间的一个纽带就是看到在奥运会的给力发挥。
*
*
* 看具体代码, 父类的方法对调用者来说,好像是不可见的,也就是说,高层对这个是不需要关心的。
*
*
* */
public class Main {
public static void main(String[] args) {
// 原来的业务逻辑
// IPlayer player = new YJLPlayer();
// player.info();
// 通过奥运会的表现后,
IPlayer nbaPlayer = new NbaScoutAdapter();
nbaPlayer.info();
}
}
package 适配器模式;
// 易建联球员
public interface IPlayer {
public void info();
}
package 适配器模式;
public class YJLPlayer implements IPlayer{
@Override
public void info() {
System.out.println("球评: 亚洲,易建联最强。");
}
}
package 适配器模式;
// 奥运会
public class OlympicGame {
public void game(){
System.out.println("奥运会男篮的表现,场均技术得分和表现,易建联 赞");
}
}
package 适配器模式;
public class NbaScoutAdapter extends OlympicGame implements IPlayer{
@Override
public void info() {
super.game();
System.out.println("湖人开始报价.....重回NBA,阿联,加油......!");
}
}