首页 > 其他分享 >软件设计实验8

软件设计实验8

时间:2022-10-13 09:55:25浏览次数:51  
标签:软件设计 void public 实验 new adapter catchMouse 适配器

实验8:适配器模式

[实验任务一]:双向适配器

实现一个双向适配器,使得猫可以学狗叫,狗可以学猫抓老鼠。

直接放源码:

#include<iostream>
#include<string>
using namespace std;

class  CatTarget {
public: virtual void catchMouse() = 0;
};

class ConcreteCatTarget:public CatTarget {

public: void catchMouse() {
        cout<<"抓老鼠"<<endl;
    }
};

class DogAdaptee {
public: virtual void wang()=0;
};
class ConcreteDogAdaptee:public DogAdaptee {
public: void wang() {
        cout<<"汪汪叫"<<endl;
    }
};

class Adapter:public CatTarget,public DogAdaptee {

private: CatTarget *catTarget;
    DogAdaptee *dogAdaptee;

public:
    Adapter() {
    }

    void setCatTarget(CatTarget *catTarget) {
        this->catTarget = catTarget;
    }

    void setDogAdaptee(DogAdaptee *dogAdaptee) {
        this->dogAdaptee = dogAdaptee;
    }

    void catchMouse() {
        cout<<"猫学狗叫,即目标类调用适配者中的方法:"<<endl;
        dogAdaptee->wang();

    }

    void wang(){
        cout<<"狗学猫抓老鼠,即适配者调用目标类中的方法:"<<endl;
        catTarget->catchMouse();
    }

};
int  main() {
    //适配器
    Adapter *adapter=new Adapter();

    adapter->setCatTarget(new ConcreteCatTarget());
    adapter->wang();
    
    adapter->setDogAdaptee(new ConcreteDogAdaptee());
    adapter->catchMouse();
}

 

标签:软件设计,void,public,实验,new,adapter,catchMouse,适配器
From: https://www.cnblogs.com/lyf3701/p/16787046.html

相关文章

  • 实验4:开源控制器实践——OpenDaylight
    实验4:开源控制器实践——OpenDaylight一、实验目的能够独立完成OpenDaylight控制器的安装配置;能够使用Postman工具调用OpenDaylightAPI接口下发流表。二、实验环境......
  • 实验4:开源控制器实践——OpenDaylight
    实验4:开源控制器实践——OpenDaylight (一)基本要求利用Mininet平台搭建下图所示网络拓扑,并连接OpenDaylight控制器;Mininet拓扑生成并连接控制器的结果  Mininet......
  • 实验4:开源控制器实践——OpenDaylight
    实验4:开源控制器实践——OpenDaylight 实验4:开源控制器实践——OpenDaylight一、实验目的能够独立完成OpenDaylight控制器的安装配置;能够使用Postman工具调用OpenDayl......
  • 实验4:开源控制器实践——OpenDaylight
    实验4:开源控制器实践——OpenDaylight一、实验目的能够独立完成OpenDaylight控制器的安装配置;能够使用Postman工具调用OpenDaylightAPI接口下发流表。二、实验......
  • 实验4:开源控制器实践——OpenDaylight
      实验4:开源控制器实践——OpenDaylight一、实验目的能够独立完成OpenDaylight控制器的安装配置;能够使用Postman工具调用OpenDaylightAPI接口下发流表。二、实验......
  • 实验4:开源控制器实践——OpenDaylight
    实验4:开源控制器实践——OpenDaylight 步骤:一:./distribution-karaf-0.6.4-Carbon/bin/karaf二:sudomn--topo=single,3--controller=remote,ip=127.0.0.1,port=6633......
  • 实验4:开源控制器实践——OpenDaylight
    实验4:开源控制器实践——OpenDaylight一、实验目的能够独立完成OpenDaylight控制器的安装配置;能够使用Postman工具调用OpenDaylightAPI接口下发流表。二、实验环境......
  • 实验4:开源控制器实践——OpenDaylight
    实验4:开源控制器实践——OpenDaylight一、实验目的1.能够独立完成OpenDaylight控制器的安装配置;2.能够使用Postman工具调用OpenDaylightAPI接口下发流表。二、实验环......
  • 实验4:开源控制器实践——OpenDaylight
    实验4:开源控制器实践——OpenDaylight一、实验目的1.能够独立完成OpenDaylight控制器的安装配置;2.能够使用Postman工具调用OpenDaylightAPI接口下发流表。二、实验环......
  • Python实验报告(第五周)
    实验5:字符串及正则表达式一、实验目的和要求学会使用字符串的常用操作方法和正确应用正则表达式 二、实验环境软件版本:Python3.1064_bit 三、实验过程1、实例0......