适配器模式
当接口中有多个方法时,如果要使用其中的一个方法必须要重写接口中的所有方法。适配器模式就是写一个接口的适配器类,对接口中的所有方法进行空实现,然后再写一个只有要用的方法的实现类,就可以直接使用接口中的一个方法。
例子1:
/*
* 针对用户操作的四种功能
*/
public interfaceUserDao {
public abstract void add();
public abstract void delete();
public abstract void update();
public abstract void find();
}
public abstractclassUserAdapter implements UserDao {
@Override
public void add() {
}
@Override
public void delete() {
}
@Override
public void update() {
}
@Override
public void find() {
}
}
public classUserDaoImpl implements UserDao {
@Override
public void add() {
System.out.println("添加功能");
}
@Override
public void delete() {
System.out.println("删除功能");
}
@Override
public void update() {
System.out.println("修改功能");
}
@Override
public void find() {
System.out.println("查找功能");
}
}
public classUserDaoImpl2 extends UserAdapter {
@Override
public void add() {
System.out.println("添加功能");
}
}
/*
* 问题:
* 接口(方法比较多) -- 实现类(仅仅使用一个,也得把其他的实现给提供了,哪怕是空实现)
* 太麻烦了。
* 解决方案:
* 接口(方法比较多) -- 适配器类(实现接口,仅仅空实现) -- 实现类(用哪个重写哪个)
*/
public classUserDaoDemo {
public static void main(String[] args) {
UserDaoud = newUserDaoImpl();
ud.add();
// 我没有说我们需要四种功能都实现啊。
UserDaoud2 = newUserDaoImpl2();
ud2.add();
}
}
运行结果:
添加功能
添加功能