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

实验8:适配器模式

时间:2024-11-04 09:24:21浏览次数:1  
标签:void dog 模式 public cat 实验 Override Cat 适配器

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

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

实验要求:

1. 对应的类图:

 

2. 源代码:

Cat接口:

 

public interface Cat {

  void cry();

  void catchMouse();

}

 

实体Cat类:

 

public class ConcreteCat implements Cat{

    @Override

    public void cry() {

        System.out.println("猫叫");

    }

    @Override

    public void catchMouse() {

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

    }

}

 适配器类:

 

public class Adapter implements Dog,Cat{

    private Cat cat;

    private Dog dog;

    public Cat getCat() {

        return cat;

    }

    public void setCat(Cat cat) {

        this.cat = cat;

    }

    public Dog getDog() {

        return dog;

    }

    public void setDog(Dog dog) {

        this.dog = dog;

    }

    @Override

    public void cry() //猫学狗叫

    {

       System.out.print( "猫学");

        dog.wang();

    }

    @Override

    public void catchMouse() {

        cat.catchMouse();

    }

    @Override

    public void wang() {

        dog.wang();

    }

    @Override

    public void action() //狗学猫抓老鼠

    {

        System.out.print( "狗学");

        cat.catchMouse();

    }

}

}

 

 

  Test测试类

 

public class Test {

    public static void main(String args[])

    {

        Cat cat1 = new ConcreteCat();

        Dog dog1 = new ConcreteDog();

        Adapter A1 = new Adapter();

        A1.setCat(cat1);

        A1.setDog(dog1);

        cat1 = (Cat) A1;

        cat1.catchMouse();

        cat1.cry();

        dog1 = (Dog) A1;

        dog1.action();

    }

 

标签:void,dog,模式,public,cat,实验,Override,Cat,适配器
From: https://www.cnblogs.com/aixin52129211/p/18524431

相关文章

  • 20222310 2024-2025-1 《网络与系统攻防技术》实验四实验报告
    一、实验内容(一)恶意代码文件类型标识、脱壳与字符串提取对提供的rada恶意代码样本,进行文件类型识别,脱壳与字符串提取,以获得rada恶意代码的编写作者,具体操作如下:(1)使用文件格式和类型识别工具,给出rada恶意代码样本的文件格式、运行平台和加壳工具;(2)使用超级巡警脱壳机等脱壳软件,......
  • activemq - queue模式
    特点queue是点对点模式,一条消息对应一个消费者,topic是一对多模式,一条消息可能有一个或多个消费者queue模式消息再发送后消费者可以在之后的任意时间消费,topic模式如果没有订阅者消息就是废消息,会被丢弃。queue模式生产者与消费者之间没有时间相关性,topic模式下生产者和消......
  • activemq - topic模式
    特点queue是点对点模式,一条消息对应一个消费者,topic是一对多模式,一条消息可能有一个或多个消费者queue模式消息再发送后消费者可以在之后的任意时间消费,topic模式如果没有订阅者,消息就是废消息,会被丢弃。queue模式生产者与消费者之间没有时间相关性,topic模式下生产......
  • 实验9:桥接模式
    [实验任务一]:两个维度的桥接模式用桥接模式实现在路上开车这个问题,其中,车可以是car或bus,路可以是水泥路或沥青路。 1.类图   1. 源代码1.Car.javapackagetest9; publicclassCarimplementsVehicle{    @Override    publicvoiddrive(){   ......
  • 桥接模式
    1. 类图:  2.源代码 //车接口interfaceVehicle{    voiddrive();} //小汽车类classCarimplementsVehicle{    privateStringname;     publicCar(Stringname){        this.name=name;    }     @Override......
  • 20222425 2024-2025-1 《网络与系统安全技术》实验四报告
    202224252024-2025-1《网络与系统安全技术》实验四报告目录1.实践内容2.实践过程2.1恶意代码样本的文件类型识别,脱壳与字符串提取2.1.1使用文件格式和类型识别工具,给出rada恶意代码样本的文件格式、运行平台和加壳工具2.1.2使用脱壳软件,对rada恶意代码样本进行脱壳处理......
  • 适配器模式——双向适配器
    一、问题描述  设计和实现一个双向适配器实例,使得猫Cat可以学狗Dog叫Cry(),狗可以学猫抓老鼠CatchMouse(),设计类图并编程实现。1.类图2.源代码1.Cat接口: publicinterfaceCat{  voidcry();  voidcatchMouse();}2.实体Cat类(另一个类似): publicclassConc......
  • 08.装饰者模式设计思想
    08.装饰者模式设计思想目录介绍01.装饰者模式基础1.1装饰者模式由来1.2装饰者模式定义1.3装饰者模式场景1.4装饰者模式思考02.装饰者模式实现2.1罗列一个场景2.2装饰者结构2.3装饰者基本实现03.装饰者实例演示3.1需求分析3.2案例基础实现3.3演变......
  • 微服务设计模式:节流模式(Throttling Pattern)
    微服务设计模式:节流模式(ThrottlingPattern)定义节流模式(ThrottlingPattern)是一种控制资源使用速率的设计模式,广泛应用于云计算和微服务架构中,以防止服务过载和资源耗尽。它通过限制客户端请求的数量,保证系统稳定性和可用性。结构节流模式的核心组件包括:请求过滤器:拦......
  • 实验2 类和对象_基础编程1
    任务1:#pragmaonce#include<string>//类T:声明classT{//对象属性、方法public:T(intx=0,inty=0);//普通构造函数T(constT&t);//复制构造函数T(T&&t);//移动构造函数~T();//析构函数voidadjust(intratio);//按系数成倍调整数据voiddisp......