适配器模式(ADAPTER)案例分析

[案例]

朋友从美国给我带回一个微波炉,但因为美国的生活用电电压是110V,而中国的电压是220V,所以我不能使用,幸好朋友有先见之明,给我带回一个变压器,能把220V电压转换成110V电压,我才可以放心使用了。

[意图]

把一个类的借口转换成客户端所期待的另一种接口,从而使原接口不匹配而无法在一起工作的两个类能在一起工作。本程序通过适配,使c220类能在c110类中使用。

 

程序代码:

#include <iostream.h>

 

class c220v

{

public:

    void DianYa220v()

     {

         cout<<"220v电压!"<<endl;

     }

};

class c110v

{

public:

     virtual void DianYa110v()=0;

};

class adaper:public c110v

{

private:

     c220v *c220obj;

public:

     adaper(c220v* obj)

     {

         c220obj=obj;

     }

     void DianYa110v()

     {

         c220obj->DianYa220v();

         cout<<"经变压器转换成"<<endl;

         cout<<"110v电压"<<endl;

     }

};

int main()

{

     c220v *c220vobj=new c220v;

     adaper adobj(c220vobj);

     adobj.DianYa110v();

     return 1;

}

运行结果:

220v电压!

经变压器转换成

110v电压

Press any key to continue

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值