【就你不知道-Java 适配器模式】

一:图



二:适配器模式在工作中十分常用,如果你要修改之前的项目代码,那么你肯定在不知不觉中已经用到了。


三:应用场景


1:有一个已经完成的类Do,项目已经上线。

2:有了新的需求,需要重用Do中的一个方法,程序猿都是很懒的。

3:新接口已经由设计人员设计好了,你无法修改。

4:那么你应该怎么办?不想重新写代码实现接口,也不能修改之前的类代码。


四: 类适配模式code

1:实现接口并集成原类

2:在接口方法中调用原类的方法


接口

package adapter;

public interface Target {

	void doSomething();
}

原类

package adapter;

public class Do {
	
	public void do1(){
               System.out.println("do do1");
        };

}

接口实现类

package adapter;

public class NewDo extends Do implements Target {

	@Override
	public void doSomething() {
		// TODO Auto-generated method stub
		do1();
	}

}

五:对象适配模式code

1:实现接口

2:接口实现类中传入原类

3:接口实现方法中调用原类的方法


接口

package adapter;

public interface Target2 {

	void doSomething();
}

原类

package adapter;

public class Do2 {

	public void do1(){
          System.out.println("do2 do1");
        };
}

接口实现类

package adapter;

public class NewDo2 implements Target2{
	
	private Do2 do2;
	
	public NewDo2(Do2 do2) {
		this.do2 = do2;
	}

	@Override
	public void doSomething() {
		do2.do1();
	}

	
}

六:测试


        Target target = new NewDo();
        
        target.doSomething();
        
        Target2 target2 = new NewDo2(new Do2());
        
        target2.doSomething();


输出:


do do1
do2 do1



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值