首页 > 其他分享 >今日报告

今日报告

时间:2023-11-06 09:26:13浏览次数:28  
标签:makeSound 报告 void Animal Override 今日 catchMouse public

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

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

Animal.java
// 动物接口
interface Animal {
    void makeSound();
    void catchMouse();
}
AnimalAdapter.java
// 双向适配器
class AnimalAdapter implements Animal {
    private Animal animal;

    public AnimalAdapter(Animal animal) {
        this.animal = animal;
    }

    @Override
    public void makeSound() {
        animal.makeSound();
    }

    @Override
    public void catchMouse() {
        animal.catchMouse();
    }
}

  

Cat.java
// 猫类
class Cat implements Animal {
    @Override
    public void makeSound() {
        System.out.println("猫叫:喵喵喵");
    }

    @Override
    public void catchMouse() {
        System.out.println("猫抓老鼠");
    }
}
Dog.java
// 狗类
class Dog implements Animal {
    @Override
    public void makeSound() {
        System.out.println("狗叫:汪汪汪");
    }

    @Override
    public void catchMouse() {
        System.out.println("狗学会了猫抓老鼠");
    }
}
Main.java
// 测试代码
public class Main {
    public static void main(String[] args) {
        Cat cat = new Cat();
        Dog dog = new Dog();

        // 猫变成狗
        Animal dogAdapter = new AnimalAdapter(cat);
        dogAdapter.makeSound();  // 输出:猫叫:喵喵喵
        dogAdapter.catchMouse(); // 输出:猫抓老鼠

        // 狗变成猫
        Animal catAdapter = new AnimalAdapter(dog);
        catAdapter.makeSound();  // 输出:狗叫:汪汪汪
        catAdapter.catchMouse(); // 输出:狗学会了猫抓老鼠
    }
}

类图

 

标签:makeSound,报告,void,Animal,Override,今日,catchMouse,public
From: https://www.cnblogs.com/zjq164/p/17811797.html

相关文章

  • 【专题】中国服务机器人产业研究报告PDF合集分享(附原数据表)
    原文链接:https://tecdat.cn/?p=34144原文出处:拓端数据部落公众号仿生机器人作为一类结合了仿生学原理的机器人,具备自主决策和规划行动的能力,正逐渐进入大众视野。它们的核心技术要素包括感知与认知技术、运动与控制技术、人机交互技术和自主决策技术。阅读原文,获取专题报告合集......
  • 【专题】2023年中国手术机器人行业专题报告PDF合集分享(附原数据表)
    原文链接:https://tecdat.cn/?p=34144原文出处:拓端数据部落公众号仿生机器人作为一类结合了仿生学原理的机器人,具备自主决策和规划行动的能力,正逐渐进入大众视野。它们的核心技术要素包括感知与认知技术、运动与控制技术、人机交互技术和自主决策技术。阅读原文,获取专题报告合集......
  • 10月-助教总结报告
    一、助教工作的具体职责和任务1.课前准备:根据批改作业的内容结果,向老师进行作业反馈并提出相关建议,并且在课前复习并熟练掌握有关的知识。2.评核学生:积极参与对学生学习成绩的评估工作,并做出对应总结,方便老师督促学生进行改正;同时,在云班课上对有问题的同学的作业下留言提醒,及时让......
  • Atcoder Beginner Contest 327 解题报告
    AtcoderBeginnerContest327HintsD$\quad$这个定义……看起来这么熟悉?E$\quad$固定$k$试试?F_1$\quad$扫描线?F_2$\quad$区间加,区间$\max$,咋维护?A直接查找\(\texttt{ab}\)和\(\texttt{ba}\)即可。intn;strings;voidSolve(intCASE){ cin>>n>>s; pu......
  • Luogu8330 解题报告
    有一个显然的贪心,选了一个区间\([l,r]\),贡献为这个区间的众数加上区间外的众数。考虑根号分治,阈值为\(B\)。我们称出现次数\(>B\)的数称为大数,反之成为小数。答案有需要分\(4\)类讨论:\([l,r]\)内是大数/小数,区间外是大数/小数比较简单的是\([l,r]\)内是大数/小数,区......
  • NOIP-11 收容报告
    T1判断是否存在一棵树,满足它有 \(a\) 个一度点和 \(b\) 个三度点,如果存在请给出一个节点数不超过 \(1000\)的构造,否则输出 。考场看了一个小时发现和第一种可以构造等量的一度电和三度电,第二种可以在不勾造三度电的情况下构造一度电,根据阳历六ans看出可惜没加......
  • 【django开发】知识经验总结共50页md文档。今日分享:django项目搭建
    Django的主要目的是简便、快速的开发数据库驱动的网站。它强调代码复用,多个组件可以很方便的以"插件"形式服务于整个框架,Django有许多功能强大的第三方插件,你甚至可以很方便的开发出自己的工具包。这使得Django具有很强的可扩展性。它还强调快速开发和DRY(DoNotRepeatYourself)原......
  • 【Flask框架】全知识点笔记4章60页MD文档,今日主题:flask视图和路由开发
    本文的主要内容:flask视图&路由、虚拟环境安装、路由各种定义、状态保持、cookie、session、模板基本使用、过滤器&自定义过滤器、模板代码复用:宏、继承/包含、模板中特有变量和函数、Flask-WTF表单、CSRF、数据库操作、ORM、Flask-SQLAlchemy、增删改查操作、案例、蓝图、单元测......
  • IBM业务流程与IT信息中心战略规划报告 P80
    本人从事咨询工作多年,二十年一线数字化规划咨询经验,提供制造业数智化转型规划服务,顶层规划/企业架构/数据治理/数据安全解决方案资料干货.该PPT共90页,由于篇幅有限,以下为部分资料,如需完整原版 方案,点击右上角红色按钮关注+私信。本文来源于网络,侵权立删流程与信息化部门在现代企......
  • 定制unittest测试报告
    基于HTMLTestRunner的定制版本非常多,我这几天手动定制了一款,除了有不错的颜值,还提供了一些非常实用的功能。安装github:https://github.com/SeldomQA/HTMLTestRunner>gitclonehttps://github.com/SeldomQA/HTMLTestRunner>cdHTMLTestRunner/>pythonsetup.pyinstall基本使......