zoukankan      html  css  js  c++  java
  • 结构型模式 适配器模式

    结构型模式 适配器模式

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

    /**
     * 结构型模式 适配器模式
     * 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;
    }
  • 相关阅读:
    C语言I博客作业03
    C语言I博客作业02
    JSON Template
    Mac系统登录不进系统解决办法
    Mac怎么安装并配置Homebrew?
    tensorflow 安装命令
    删除表重复数据
    redhat安装docker
    Rabbit MQ 入门指南
    Maven 集成Tomcat7插件
  • 原文地址:https://www.cnblogs.com/lsgxeva/p/7777860.html
Copyright © 2011-2022 走看看