【ThinkingInJava】14、适配器设计模式 (2)

本文探讨了《ThinkingInJava》一书中关于适配器设计模式的应用,通过创建一个名为FilterAdapter的类,实现了将Filter类型转换为Processor类型的功能,从而在原有接口的基础上扩展了新的接口实现。主要展示了如何使用适配器模式来连接不同接口的组件,以实现灵活的组件交互。通过示例代码和输出结果,详细说明了适配器模式在Java编程中的具体应用。
/**
* 书本:《Thinking In Java》
* 功能:适配器设计模式
* 文件:FilterAdapter.java
* 时间:2015年4月2日20:52:07
* 作者:cutter_point
*/
package Lesson9Interfaces.interfaceprocessor;

import Lesson9Interfaces.filters.BandPass;
import Lesson9Interfaces.filters.Filter;
import Lesson9Interfaces.filters.HighPass;
import Lesson9Interfaces.filters.LowPass;
import Lesson9Interfaces.filters.Waveform;

class FilterAdapter implements Processor 		//这个类,感觉就是一个中转站,吧一个Filter类型的参数传入,转换成FilterAdapter类型,而这个类型确实从Processor导出的,那么filter类型和Processor类型就结合了
{
	Filter filter;

	public FilterAdapter(Filter filter) 
	{
		this.filter = filter;
	}

	@Override
	public String name() 
	{
		return filter.name();
	}

	@Override
	public Waveform process(Object input) 
	{
		return filter.process((Waveform) input);
	}
}


public class FilterProcessor
{
	public static void main(String [] args)
	{
		Waveform w = new Waveform();
		Apply.process(new FilterAdapter(new LowPass(1.0)), w);
		Apply.process(new FilterAdapter(new HighPass(2.0)), w);
		Apply.process(new FilterAdapter(new BandPass(3.0, 4.0)), w);
	}
}


使用适配器设计模式,适配器中的代码将接受你所拥有的接口,并产生你所需要的接口

我觉得,就是类的组合,吧原来的类封装到新类里面,在新类里面实现需求的各种接口


输出:

Using Processor LowPass  obj1
Waveform 0  obj1
Using Processor HighPass  obj1
Waveform 0  obj1
Using Processor BandPass  obj1
Waveform 0  obj1










评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值