首页 > 其他分享 >11.5

11.5

时间:2024-11-13 23:09:49浏览次数:1  
标签:11.5 void dog Dog Cat Override public

实验8:适配器模式

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

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

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

 

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

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

实验要求:

 

 

1、Cat.java

package org.example.shiyanba;

public interface Cat {
    void cry();
    void catchMouse();
}

 

2、Dog.java

package org.example.shiyanba;

public interface Dog {
    void wang();
    void action();
}

 

3、ConcreateCat.java

package org.example.shiyanba;

public class ConcreteCat implements Cat{
    @Override
    public void cry() {
        System.out.println("猫叫");
    }
    @Override
    public void catchMouse() {
        System.out.println("猫抓老鼠");
    }
}

 

4、ConcreateDog.java

package org.example.shiyanba;

public class ConcreteDog implements Dog{
    @Override
    public void wang() {
        System.out.println("狗叫");
    }
    @Override
    public void action() {
        System.out.println("狗学猫捉老鼠");
    }
}

 

5、Adapter.java

package org.example.shiyanba;

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

 

6、Test.java

package org.example.shiyanba;

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

 

 

标签:11.5,void,dog,Dog,Cat,Override,public
From: https://www.cnblogs.com/zzqq1314/p/18545031

相关文章

  • 2024.11.5人工智能学记6
    人工智能(ArtificialIntelligence),引文缩写为AI。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。(一)学科范畴人工智能是一门边沿学科,属于自然科学、社会科学、技术科学三向交叉学科。(二)涉及学科与领域哲学和认知科学,数学,神经生......
  • 【2024潇湘夜雨】WIN11_Pro-Workstation_24H2.26120.2213软件选装纯净特别版11.5
    【系统简介】=============================================================1.本次更新母盘来自WIN11_Pro-Workstation_24H2.26120.2213.进桌面后稍等片刻,等待后续部分优化完成。2.全程离线精简、无人值守调用优化处理制作。部分优化适配系统可能要重启几次,即使显示适配失败也不......
  • 11.5 非递归的归并排序
    #include<bits/stdc++.h>usingnamespacestd;#defineintlonglongintn;inthelp[1008611];intarr[1008611];voidmerge(intl,intm,intr){inti=l;inta=l;intb=m+1;while(a<=m&&b<=r){help[i++]=arr[a]......
  • 2024.11.5 鲜花
    放点屁话大家多交hack。有的人觉得没意义,这也无可厚非,有的人怕被骂,我一直认为这是多余的,但竟然真的有人骂?这是无法理解的,所以发文声讨一下。叠甲:本文仅代表个人观点,可能有过激言论,不针对任何人。不是你们骂交hack的人是什么心态啊。你站在道德制高点上,谴责人家交hack,你首......
  • 2024.11.5 闲话
    别人的闲话都推图or歌,我的鲜花啥也没有。我也没啥可推的啊,求图or歌高维前缀和常见的柿子是\(s_{i,j}=s_{i-1,j}+s_{i,j-1}-s_{i-1,j-1}+a_{i,j}\)。但是还可以一维一维求。点此查看代码rep(i,1,n,1)rep(j,1,m,1)a[i][j]+=a[i-1][j];rep(i,1,n,1)rep(j,1,m,1)a[i]......
  • 11.5
    软件设计                 石家庄铁道大学信息学院 实验9:桥接模式本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:1、理解桥接模式的动机,掌握该模式的结构;2、能够利用桥接模式解决实际问题。 [实验任务一]:两个维度的桥接模式用桥接模式实现在......
  • 11.5日总结
    实验9:桥接模式[实验任务一]:两个维度的桥接模式用桥接模式实现在路上开车这个问题,其中,车可以是car或bus,路可以是水泥路或沥青路。 1.类图   1. 源代码1.Car.javapackage test9; publicclassCarimplementsVehicle{    @Override    publicvoidd......
  • 11.5
    (填空题)依据复用的对象,软件复用分为()和()。我的答案:20分(1)产品复用(2)过程复用正确答案:(1)产品复用(2)过程复用(填空题)软件复用的优点有()、()、()、()。我的答案:20分(1)提高生产率(2)减少维护代价(3)提高互操作性(4)支持快速原型正确答案:(1)提高生产率(2)减......
  • 11.5 人工智能学习内容
    人工智能(ArtificialIntelligence)引文缩写为AI。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。(一)学科范畴人工智能是一门边沿学科,属于自然科学、社会科学、技术科学三向交叉学科。(二)涉及学科与领域哲学和认知科学,数学,神经生......
  • 第十一章 【后端】商品分类管理微服务(11.5)——增强响应
    11.5增强响应在前后端分离的开发模式下,我们一般会统一后端的响应格式,比如自定义Response结构,但每个开发者可能会封装各自的Response结构,造成不一致,因此我们需要将响应格式统一起来,定义一个统一的标准响应格式。11.5.1创建响应模块新建yumi-etms-response模块......