JAVA 适配器模式 想使用接口的方法但是不想全部实现

您所在的位置:网站首页 一个类实现接口要实现所有方法 JAVA 适配器模式 想使用接口的方法但是不想全部实现

JAVA 适配器模式 想使用接口的方法但是不想全部实现

2023-08-22 05:50| 来源: 网络整理| 查看: 265

为什么使用适配器: 接口(方法比较多) – 实现类(仅仅使用一个,也得把其他的实现给提供了,哪怕是空实现)。这样做太麻烦了。

使用适配器的好处: 接口(方法比较多) – 适配器类(实现接口,仅仅空实现) – 实现类(用哪个重写哪个),简洁明了。

一、正常操作

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