结构型模式 适配器模式

结构型模式 适配器模式

适用于:  是将一个类的接口转换成客户希望的另外一个接口。使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。

/**
 * 结构型模式 适配器模式
 * Adapter模式也叫适配器模式,是构造型模式之一,通过Adapter模式可以改变已有类(或外部类)的接口形式。
 * 通过一种对客户端透明的方式来扩展对象的功能,是继承关系的一个替换方案。  
 * 装饰模式就是把要添加的附加功能分别放在单独的类中,并让这个类包含它要装饰的对象,当需要执行时,客户端就可以有选择地、按顺序地使用装饰功能包装对象。
 *
 */

#define _CRT_SECURE_NO_WARNINGS

#include <iostream>
#include <string>

class Current18v
{
public:
    void use18vCurrent()
    {
        std::cout << "使用18V的交流电" << std::endl;
    }
};

class Current220v
{
public:
    void use220vCurrent()
    {
        std::cout << "使用220V的交流电" << std::endl;
    }
};

class Adapter: public Current18v
{
public:
    Adapter(Current220v *p220v)
    {
        m_p220v = p220v;
    }
    void use18vCurrent()
    {
        std::cout << "adapter 中使用交流电" << std::endl;
        m_p220v->use220vCurrent();
    }
private:
    Current220v *m_p220v;
};


void mytest()
{
    Current220v *p220v = new Current220v();
    Adapter *padapter = new Adapter(p220v);
    padapter->use18vCurrent();

    delete p220v;
    p220v = nullptr;
    delete padapter;
    padapter = nullptr;

    return;
}


int main()
{
    mytest();

    system("pause");
    return 0;
}
原文地址:https://www.cnblogs.com/lsgxeva/p/7777860.html