zoukankan      html  css  js  c++  java
  • 设计模式之适配器模式

    所谓的适配器模式其实是加了一个抽像层,举例,当姚明打球的时候是需要一个翻译的,而这个翻译就是适配器

    本来姚明不懂英语,是不能直接和队友交流的,所以需要一个翻译.这样就在翻译类里面内建一个姚明类,信息可

    以通过翻译类的接口和姚明交流,代码如下

    #include "iostream.h"
    class player//抽像,提出公共接口,便于扩展
    {
    public:
     player(){}
     player(char *name){this->name = name;}//构造函数。可以通过派生类初始化
     virtual ~player(){}
     virtual void Attack() = 0;
    public: 
     char *name;

    };

    class Foreigner
    {
    public:
     Foreigner(char *name){this->name = name;}//需要调用的类,此类为内建的类,在后台工作
     virtual ~Foreigner(){}
     void Attack(){cout<<name<<endl;}
    private:
     char *name;
    };

    class Translator : public player//中介者,foreigner的函数调用可以通过此类进行
    {
    public:
     Translator(char *name){m_foreigner = new Foreigner(name);}
     virtual ~Translator(){}
     virtual void Attack(){m_foreigner->Attack();}
    public:
     Foreigner *m_foreigner;
    };

    void main()
    {
     player *b = new Translator("小李");
     b->Attack();
    }

  • 相关阅读:
    C++分数类
    2019 SDN大作业
    个人作业-软工实践总结
    2019 SDN上机第7次作业
    2019 SDN上机第6次作业
    2019 SDN课程阅读作业(2)
    个人作业--软件评测
    2019 SDN上机第5次作业
    2019 SDN上机第4次作业
    2019 SDN第一次阅读作业
  • 原文地址:https://www.cnblogs.com/lizhengjin/p/1264648.html
Copyright © 2011-2022 走看看