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

10 篇文章 0 订阅
9 篇文章 0 订阅

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

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

一、正常操作

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个接口方法但是你又不想全部写出来使用比较适宜。
欢迎转载,注明出处,欢迎交流!!!

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值