【Adapter模式】
Adapter适配器模式是为了解决这样的一个问题:我已经在应用程序中设计好了接口,但是这个接口和第三方提供的接口不一致,为了使得这些 接口不兼容的类可以在一起工作,Adapter模式将一个类的第三方的接口转化为应用程序需要调用的接口。
Adapter模式的实现有两种途径,一种是利用类的继承,一种是利用类的组合(聚合)(直接调用)来实现。即“接口继承”和“实现继承"的区别, 接口继承是指通过子类获得了父类的接口,而实现继承是指通过继承,子类获得父类的实现。C++中public继承即是接口继承和实现继承,既 继承了父类的接口又获得了父类的实现。一般来说通过private继承只获得实现继承,而接口的继承在C++中是通过在基类中的纯虚函数 virtual、=0来实现的。
【图解】
以笔记本电脑只能插USB鼠标为例,现有一个PS接口的鼠标,需要用一个PS/USB的Adapter来转换。
【程序】