//Target类,客户所期待的接口,目标可以是具体的或抽象的类,也可以是接口
class Target
{
public abstract void Request()
{
//System.out.println("普通请求");
}
}
//Adaptee类,需要适配的类
class Adaptee
{
public void SpecificRequeat()
{
System.out.println("特殊请求");
}
}
适配器类
//Adapter类,通过在内部包装一个Adaptee对象,把源接口转换成目标接口
class Adapter extends Target
{
//建立私有的Adapter对象,关联关系
private Adaptee adaptee = new Adaptee();
public override void Request()
{
//把调用Request()方法变成调用SpecificRequest()方法
adaptee.SpecificRequest();
}
}
客户端
class Program
{
public static void main(String[] args)
{
Target target = new Adapter();
target.Request();
}
}
类的Adapter模式示意性实现:
interface ITarget
{
void Request();
}
class Adaptee
{
public void SpecificRequest()
{
System.out.println("特殊请求");
}
}
class Adapter extends Adaptee implements ITarget
{
public void Request()
{
this.SpecificRequest();
}
}
public class Client
{
public static void main(String[] args)
{
ITarget t = new Adapter();
t.Request();
}
}
适配器模式从最初代码的一步步改进
最新推荐文章于 2024-05-23 21:27:18 发布