zoukankan      html  css  js  c++  java
  • c++ 适配器模式(adapter)

    当两个系统的接口不一样时,我们就要重新封装一下接口,以便于当前系统的调用。这种模式叫做适配器模式。适配器模式分为两种:

    1.对象组合适配器Object Adapter

    2.类适配器Class Adapter)采用类继承的方式实现。

    下面是对象适配器的使用。

    #include <iostream>
    #include <string>
    
    using namespace std;
    
    class CCnOutlet
    {
    public:
        virtual ~CCnOutlet()
        {
    
        };
        virtual void Cnplug()
        {
            //cout << "中式插座!" << endl;
        };
    };
    
    class CEnOutlet
    {
    public:
        void EnPlug()
        {
            cout<<"use en plug" << endl;
        }
    };
    
    class CCnOutletAdapter : public CCnOutlet
    {
    public:
        CCnOutletAdapter(CEnOutlet* pEnOutlet):m_pEnOutlet(pEnOutlet) {};
        virtual ~CCnOutletAdapter() {};
        virtual void Cnplug()
        {
            cout << "adapter transfer" << endl;
            m_pEnOutlet->EnPlug();
        }
    
    private:
        CEnOutlet* m_pEnOutlet;
    };
    
    int main()
    {
        CEnOutlet *pEnOutlet = new CEnOutlet;
        CCnOutlet *pCnOutlet = new CCnOutletAdapter(pEnOutlet);
        pCnOutlet->Cnplug();
    
        delete pEnOutlet;
        delete pCnOutlet;
    
        system("pause");
        return 0;
    }
  • 相关阅读:
    kafka那些事儿
    netty
    kafka为什么吞吐量高,怎样保证高可用
    通用mybatis单表操作接口
    P1058立体图
    P2258 子矩阵
    P1439 【模板】最长公共子序列(LCS)
    洛谷P2672 推销员
    P3373线段树2
    P5018 对称二叉树
  • 原文地址:https://www.cnblogs.com/onlycxue/p/3476932.html
Copyright © 2011-2022 走看看