适配器的目的是将已有类的功能提供给客户类,是一个中间者的角色。类适配器是客户类有一个接口规范的情况下可用,此时适配类只需作为功能类的子类,并实现接口并可,直接用功能类实现了客户类的要求。而对象适配类是在客户类没有提供接口的情况下用的,适配类作为客户类的子类,并在其中实例化一个功能类的对象,并调用此对象的方法实现适配,故称对象适配。
类适配器例子:
//客户接口
public Interface ICustomer
...{
public int CustomMethod();
}
//已有功能类
public class Action
...{
public Action()...{};
public int ActionMethod()
...{
//do something here
}
}
//类适配器
public class AdapterClass:Action,ICutomer
...{
public AdapterClass()...{};
public void CustumMethod()
...{
retun ActionMethod();
}
} 对象适配器例子:
//客户类
public class Customer
...{
public virtual int CustomMethod();
}
//已有功能类
public class Action
...{
public Action()......{};
public int ActionMethod()
...{
//do something here
}
}
//对象适配器
public class AdapterClass:Customer
...{
private Action ac;
public AdapterClass()......{};
public override void CustumMethod()
...{
retun ac.ActionMethod();
}
}
本文详细介绍了适配器模式中的两种实现方式——类适配器和对象适配器。类适配器通过继承来实现接口适配,而对象适配器则通过组合的方式完成适配。文中提供了具体的代码示例,帮助读者理解这两种适配器的区别。

1997

被折叠的 条评论
为什么被折叠?



