设计模式之适配器模式简单实践

适配器是定义一个中间类 免除 子类继承一个接口都要去实现每个方法(太繁琐),转而通过复写父类(适配器)中的默认实现了达到自己想要的效果


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();
	}
}









你可能感兴趣的:(设计模式,适配器模式)