适配器是定义一个中间类 免除 子类继承一个接口都要去实现每个方法(太繁琐),转而通过复写父类(适配器)中的默认实现了达到自己想要的效果
1.顶级接口类
package com.git.base.designpatterns.adapter;
/**
*
* <p>Title: LiveAdapter.java</p>
* <p>Description:适配器模式主接口</p>
* <p>Copyright: Copyright (c) 2016</p>
* <p>Company: Sage</p>
* @author 五虎将
* @date 2016年5月3日下午10:52:25
* @version 1.0
*/
public interface LiveAdapter {
public String eat();
public String sleep();
public String grow();
}
2.适配器类(默认实现接口中的所有方法)
package com.git.base.designpatterns.adapter;
/**
* 适配器核心类 --实现了所有的方法的默认方法 提供给子类进行特殊的复写
* <p>Title: AbstractLiveAdapter.java</p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2016</p>
* <p>Company: Sage</p>
* @author 五虎将
* @date 2016年5月3日下午10:56:59
* @version 1.0
*/
public abstract class AbstractLiveAdapter implements LiveAdapter{
@Override
public String eat() {
return null;
}
@Override
public String sleep() {
return null;
}
@Override
public String grow() {
return null;
}
}
3.主功能类--实现自己的需求
package com.git.base.designpatterns.adapter;
public class InstanceLiveAdapter extends AbstractLiveAdapter {
@Override
public String eat() {
return "你 吃饭了吗?";
}
}
4.适配器实践类
package com.git.base.designpatterns.adapter;
public class AdapterTest {
public static void main(String[] args) {
InstanceLiveAdapter adapter = new InstanceLiveAdapter();
System.out.println(adapter.eat());
new Integer(1);
new String();
}
}