Adapter Class/Object(适配器)

6. Adapter Class/Object(适配器)

  结构型模式(Structural Pattern)描述如何将类或者对象结合在一起形成更大的结构。结构型模式的目的是通过组合类或对象产生更大结构以适应更高层次的逻辑需求,

 6.1 定义

  将一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。

6.2 优点

  ■ 适配器模式可以让两个没有任何关系的类在一起运行。

  ■ 增加了类的透明性。

  ■ 提高类的复用度。

  ■ 增强代码的灵活性。

   适配器模式的使用场景使用适配器的典型场景:修改一个已经投产中的系统时,需要对系统进行扩展,此时使用一个已有的类,但这个类不符合系统中的接口,这时使用适配器模式是最合适的,它可以将不符合系统接口的类进行转换,转换成符合系统接口的、可以使用的类。

 1 #include<iostream>
 2 using namespace std;
 3 //源角色
 4 class ShuiJiao{
 5 public:
 6     void makeShuiJiao(){
 7         cout<<"调制菜料"<<endl;
 8         cout<<"擀面皮"<<endl;
 9         cout<<"包饺子"<<endl;
10     }
11 };
12 //抽象目标类
13 class HumDun{
14 public:
15     virtual void makeHumDun()=0;
16 };
17 //适配类
18 class FoodAdapter:public HumDun,public ShuiJiao{
19 public:
20     void makeHumDun(){
21         makeShuiJiao();
22         cout<<"水饺与馄饨步骤一样"<<endl;
23     }
24 };
25 int main(){
26     FoodAdapter foodAdapter;
27     foodAdapter.makeShuiJiao();
28     foodAdapter.makeHumDun();
29 
30 }

 

posted @ 2020-11-03 21:18  昨日明眸  阅读(77)  评论(0)    收藏  举报