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();
    }

  • 相关阅读:
    linux的lsof命令
    linux find
    linux 查看磁盘空间大小
    eclipse运行时编码设置
    WebService工作原理
    Java获取字符串编码方式
    JavaScript,base64加密解密
    如何用javascript 的eval动态执行一个需要传对象参数的函数
    struts2结果类型
    执行maven-build.cmd失败
  • 原文地址:https://www.cnblogs.com/lizhengjin/p/1264648.html
Copyright © 2011-2022 走看看