首页 > 其他分享 >实验8:适配器模式

实验8:适配器模式

时间:2023-11-29 21:45:06浏览次数:34  
标签:void dog Dog 模式 public 实验 Cat cat 适配器

本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:

1、理解适配器模式的动机,掌握该模式的结构;

2、能够利用适配器模式解决实际问题。

 

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

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

实验要求:

1. 画出对应的类图;

2.提交源代码;

3.注意编程规范。

Adapter:

package test8;

 

public class Adapter implements Cat,Dog{

    private Cat cat=new Realcat();

    private Dog dog=new Realdog();

    public void setcat(Cat _cat){

        cat=_cat;

    }

    public void setdog(Dog _dog){

        dog=_dog;

    }

    public void zhua(){}

    public void wang(){}

    public void run(){

        System.out.println("小狗学小猫:");

        cat.zhua();

    }

    public void cry(){

        System.out.println("小猫学小狗:");

        dog.wang();

    }

}

Cat

package test8;

 

public interface Cat {

    public void cry();

    public void zhua();

 

}

Dog

package test8;

 

public interface Dog {

    public void wang();

    public void run();

 

}

RealCat

package test8;

 

public class Realcat implements Cat{

    public void cry(){

        System.out.println("喵喵叫!");

    }

    public void zhua(){

        System.out.println("抓老鼠!");

    }

}

RealDog

package test8;

 

public class Realdog implements Dog{

    public void wang(){

        System.out.println("汪汪叫!");

    }

    public void run(){

        System.out.println("快快跑!");

    }

 

}

Main

package test8;

 

public class main {

 

    public static void main(String[] args) {

        Dog dog=new Adapter();

        Cat cat=new Adapter();

        dog.run();

        cat.cry();

    }

}

标签:void,dog,Dog,模式,public,实验,Cat,cat,适配器
From: https://www.cnblogs.com/lin513/p/17865962.html

相关文章

  • 实验9:桥接模式
    本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:1、理解桥接模式的动机,掌握该模式的结构;2、能够利用桥接模式解决实际问题。 [实验任务一]:两个维度的桥接模式用桥接模式实现在路上开车这个问题,其中,车可以是car或bus,路可以是水泥路或沥青路。#include<iostream>......
  • 实验4
    Textcoder.hpp#include<iostream>#include<string>usingnamespacestd;classTextcoder{public:Textcoder(stringt);stringget_ciphertext();stringget_deciphertext();private:stringtext;voidencoder();voiddeco......
  • 实验10:组合模式
    本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:1、理解组合模式的动机,掌握该模式的结构;2、能够利用组合模式解决实际问题。 [实验任务一]:组合模式用透明组合模式实现教材中的“文件夹浏览”这个例子。1.文件的执行不需真正实现,只需简单提示即可;2.提交源代码;3.......
  • 实验5
    实验任务1.1实验任务1.2实验任务2.1实验任务2.2实验任务3实验任务4.1 实验任务4.2 实验任务5.1实验任务5.2 实验任务6  实验任务7 ......
  • FPGA 实现SPI 主机双工通信 CS前后肩可调 操作时钟频率可调 ,SPI模式可调,传输位宽可
    1//testbench2`timescale1ns/1ns3modulelcd_spi_m_tb();4regrst_n_i;5regspi_clkx_i;6reg[31:0]spi_data_i;7regspi_start;8regspi_miso_r1,spi_miso_r2;9wirespi_miso_i;10wire[0:0]spi_done;11wir......
  • 实验八第二部分所需要的依赖
    <repositories><repository><id>alimaven</id><name>aliyunmaven</name><url>https://maven.aliyun.com/nexus/content/groups/public/</url></repository>......
  • 大型数据库实验八--Flink初级编程实践
    ......
  • 虚拟机进行实验八遇到的坑(一)
    idea依赖下载报错//引入阿里云镜像下载就ok啦~~~<repositories><repository><id>alimaven</id><name>aliyunmaven</name><url>https://maven.aliyun.com/nexus/content/groups/public/</url......
  • MFC的CFile类以追加模式写文件
    CFile类的Open函数有CFile::modeNoTruncate模式,该模式是非截断的意思,再配合CFile::modeCreate,意味着如果文件不存在,则创建,如果文件存在,则不会将文件内容清空。当对文件进行追加写入时,有一个小细节就是打开文件模式中虽然添加了这两种OpenFlag,但是文件指针并未移动到末尾,因此追加出......
  • 详解Redis三大集群模式,轻松实现高可用!
    原文:https://zhuanlan.zhihu.com/p/624144774?utm_id=01.Redis集群简介1.1什么是Redis集群Redis集群是一种通过将多个Redis节点连接在一起以实现高可用性、数据分片和负载均衡的技术。它允许Redis在不同节点上同时提供服务,提高整体性能和可靠性。根据搭建的方式和集群的特性,R......