您的位置:首页 > 编程语言 > Java开发

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

2017-06-05 09:22 204 查看

优点

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

缺点

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

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


*/

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("添加功能");
}
}

  

  

/*
4000

*
问题:


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


*                 太麻烦了。

*
解决方案:


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


*/

public class UserDaoDemo {

public static void main(String[] args) {
UserDao ud = new UserDaoImpl();//普通的实现类,需要实现接口的全部功能
ud.add();
  
UserDao ud2 = new UserDaoImpl2();//适配器设计模式类,只需要重写需要的功能方法即可
ud2.add();
}
}

  

  

  

  

  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 设计模式