类适配器与对象适配器的区别

原创 2007年10月15日 21:24:00

适配器的目的是将已有类的功能提供给客户类,是一个中间者的角色。类适配器是客户类有一个接口规范的情况下可用,此时适配类只需作为功能类的子类,并实现接口并可,直接用功能类实现了客户类的要求。而对象适配类是在客户类没有提供接口的情况下用的,适配类作为客户类的子类,并在其中实例化一个功能类的对象,并调用此对象的方法实现适配,故称对象适配。

类适配器例子:

//客户接口
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();
    }

}

适配器模式----类适配和对象适配

From:http://blog.csdn.net/t12x3456/article/details/7664764 为什么需要适配器模式? 在软件系统中,由于应用环境的变化,常常需要...
  • wuqilianga
  • wuqilianga
  • 2016年04月02日 22:04
  • 2312

设计模式:适配器模式(Adapter)

适配器模式:将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的哪些类可以一起工作。  适配器模式有类适配器模式和对象适配器模式两种不同的形式。 类适配器 ...
  • u013256816
  • u013256816
  • 2016年03月28日 18:56
  • 3026

适配器模式之类的适配器模式与对象的适配器模式

适配器模式有类的适配器模式和对象的适配器模式两种不同的形式,如下图所示,左边是类的适配器模式,右边是对象的适配器模式。 类的适配器模式: 以下是uml类图: 模式所涉及的角色有: *目标(Targ...
  • u012734441
  • u012734441
  • 2015年05月03日 15:59
  • 1226

抽象类和接口的区别(里面有适配器设计、工厂设计、代理设计模式)

在MyWindow 类肯定要覆写全部方法,但是现在希望可以根据自己的需要选择性的覆盖某些方法。那么该怎么实现呢? 用一个类先将接口实现了,但是所有的实现都属于空实现。然后再继承这个类。应该使用抽象类...
  • afdnlw
  • afdnlw
  • 2012年04月27日 15:40
  • 1874

类适配器与对象适配器的区别

转自http://blog.csdn.net/cyai/article/details/1826440 适配器的目的是将已有类的功能提供给客户类,是一个中间者的角色。类适配器是客户类有一个接...
  • kkForWork
  • kkForWork
  • 2015年06月03日 16:52
  • 882

C#面向对象设计模式纵横谈(7):Adapter 适配器模式(结构型模式) (Level 300)

  • 2008年09月13日 15:54
  • 7.2MB
  • 下载

对象适配器模式

  • 2017年01月06日 15:17
  • 1KB
  • 下载

java对象适配器

  • 2015年11月05日 23:19
  • 4KB
  • 下载

C#面向对象设计模式纵横谈\7 结构型模式Adapter 适配器模式.zip

  • 2009年12月20日 12:52
  • 8.61MB
  • 下载

C++可调用对象适配器和绑定器

C98/03中的仿函数适配器 bind1st(), bind2nd(), ptr_fun(), mem_fun(), mem_fun_ref(), not1(), not2() bind1st() 用...
  • zhouguoqionghai
  • zhouguoqionghai
  • 2015年07月04日 00:07
  • 2351
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:类适配器与对象适配器的区别
举报原因:
原因补充:

(最多只允许输入30个字)