设计模式--适配器模式(简要)(四)

优点

让本来不适合使用的接口变得适合使用

缺点

一次只能适配一个类,使用有一定的局限性

  

/*

* 针对用户操作的四种功能,增删改查

*/

public interface UserDao {

public abstract void add();

  

public abstract void delete();

  

public abstract void update();

  

public abstract void find();

}

  

//用普通类去实现接口,就必须四种全部实现

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("查找功能");

}

}

  

//适配器设计模式,利用一个中间类(抽象的)来实现多功能的接口,以后想使用什么功能,直接使用子类继承该抽象类,重写需要的功能方法即可

public abstract class UserAdapter implements UserDao {

  

@Override

public void add() {

}

  

@Override

public void delete() {

}

  

@Override

public void update() {

}

  

@Override

public void find() {

}

}

  

//继承适配器类,并重新需要的功能

public class UserDaoImpl2 extends UserAdapter {

@Override

public void add() {

System.out.println("添加功能");

}

}

  

  

/*

* 问题:

*                 接口(方法比较多) -- 实现类(仅仅使用一个,也得把其他的实现给提供了,哪怕是空实现)

*                 太麻烦了。

* 解决方案:

*                 接口(方法比较多) -- 适配器类(实现接口,仅仅空实现) -- 实现类(用哪个重写哪个)

*/

public class UserDaoDemo {

public static void main(String[] args) {

UserDao ud = new UserDaoImpl();//普通的实现类,需要实现接口的全部功能

ud.add();

  

UserDao ud2 = new UserDaoImpl2();//适配器设计模式类,只需要重写需要的功能方法即可

ud2.add();

}

}

  

  

  

  

  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值