JAVA 适配器模式 想使用接口的方法但是不想全部实现 |
您所在的位置:网站首页 › 一个类实现接口要实现所有方法 › JAVA 适配器模式 想使用接口的方法但是不想全部实现 |
为什么使用适配器: 接口(方法比较多) – 实现类(仅仅使用一个,也得把其他的实现给提供了,哪怕是空实现)。这样做太麻烦了。 使用适配器的好处: 接口(方法比较多) – 适配器类(实现接口,仅仅空实现) – 实现类(用哪个重写哪个),简洁明了。 一、正常操作 1、用户接口 /* * 四种功能 */ public interface UserDao { public abstract void add(); public abstract void delete(); public abstract void update(); public abstract void find(); }2、直接实现接口 public class UserDaoImpl 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("查找功能"); } }3、调用实现方法 public class UserDaoDemo { public static void main(String[] args) { UserDao ud = new UserDaoImpl(); ud.add(); } }问题: 我没有说我们需要四种功能都实现啊。 注意:此处使用适配器模式解决 二、适配器模式下 1、定义接口: /* * 四种功能 */ public interface UserDao { public abstract void add(); public abstract void delete(); public abstract void update(); public abstract void find(); }2、使用适配器(抽象类)空实现所有方法 public abstract class UserAdapter implements UserDao { @Override public void add() { } @Override public void delete() { } @Override public void update() { } @Override public void find() { } }3、 继承适配器即可,重写方法 public class UserDaoImpl2 extends UserAdapter { @Override public void add() { System.out.println("添加功能"); } }4、 调用继承适配器重写的方法 public class UserDaoDemo { public static void main(String[] args) { UserDao ud2 = new UserDaoImpl2(); ud2.add(); } }此处为了方便演示,定义了4个接口方法; 当然如果单个方法、很少方法或者全部需要实现的就没必要使用适配器模式。 适配器是N个接口方法但是你又不想全部写出来使用比较适宜。 欢迎转载,注明出处,欢迎交流!!! |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |