适配器模式

适配器模式:客户端调用某一个类型 Adapter,该类型只有operationTwo(),但是客户端现在希望调用这个类型的同时,也要执行另一个类型 Source 的operationOne(),这时候我们就要使用“适配器模式”。

 

解决方案为:我们抽象一个接口Target,该接口拥有operationOne()与operationTwo(),将Adapter这个类型继承Source 类型,实现接口Target。

 

核心思想就是:通过抽象接口,满足客户端的期待,从而使不同接口类可以一起工作。

 

具体代码如下:

 

package com.mkf.pattern;

public class Source {
	public void operationOne() {
		System.out.println("源被调用: " + Source.class.getName());
	}
}

package com.mkf.pattern;

public interface Target {
	public void operationOne();

	public void operationTwo();
}

package com.mkf.pattern.impl;

import com.mkf.pattern.Source;
import com.mkf.pattern.Target;

public class Adapter extends Source implements Target {

	@Override
	public void operationTwo() {
		System.out.println("适配器被调用: " + Adapter.class.getName());
	}

}

package com.mkf;

import com.mkf.pattern.Target;
import com.mkf.pattern.impl.Adapter;

public class TestAdapter {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		Target t = new Adapter();
		t.operationOne();
		t.operationTwo();
	}

}

 

 

执行结果:

 

源被调用: com.mkf.pattern.Source
适配器被调用: com.mkf.pattern.impl.Adapter

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值