首页 > 其他分享 >10.28日报

10.28日报

时间:2024-11-27 10:36:15浏览次数:6  
标签:makeSound 10.28 void hunt System 日报 Animal public

今天完成了设计模式的实验,以下为今天的实验内容:

实验8:适配器模式

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

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

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

 
   

 

 

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

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

实验要求:

1.  画出对应的类图;

 

2.提交源代码;

// 动物接口
interface Animal {
    void makeSound();
    void hunt();
}

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

    public void hunt() {
        System.out.println("猫在抓老鼠");
    }
}

// 狗类
class Dog implements Animal {
    public void makeSound() {
        System.out.println("汪");
    }

    public void hunt() {
        System.out.println("狗不抓老鼠");
    }
}

// 猫到狗的适配器
class CatToDogAdapter implements Animal {
    private Cat adaptee;

    public CatToDogAdapter(Cat cat) {
        this.adaptee = cat;
    }

    public void makeSound() {
        System.out.println("喵喵(模仿汪汪叫)");
    }

    public void hunt() {
        System.out.println("猫在模仿狗不抓老鼠");
    }
}

// 狗到猫的适配器
class DogToCatAdapter implements Animal {
    private Dog adaptee;

    public DogToCatAdapter(Dog dog) {
        this.adaptee = dog;
    }

    public void makeSound() {
        System.out.println("汪汪(模仿喵喵叫)");
    }

    public void hunt() {
        System.out.println("狗在模仿猫抓老鼠");
    }
}

// 测试类
public class AdapterTest {
    public static void main(String[] args) {
        Animal cat = new Cat();
        Animal dog = new Dog();

        Animal catAdapter = new CatToDogAdapter(new Cat());
        Animal dogAdapter = new DogToCatAdapter(new Dog());

        cat.makeSound();
        dog.makeSound();

        catAdapter.makeSound();
        dogAdapter.makeSound();

        cat.hunt();
        dog.hunt();

        catAdapter.hunt();
        dogAdapter.hunt();
    }
}

 

3.注意编程规范。

标签:makeSound,10.28,void,hunt,System,日报,Animal,public
From: https://www.cnblogs.com/lijianlongCode13/p/18571743

相关文章

  • 10.29日报
    今天继续进行mes系统开发,准备进行一阶段验收,主要做一个车间内班组之间的流程,以下为我们小组探讨出的主要流程:接收任务:系统接收生产部下达的生产任务。生成产品批次二维码。领取任务:班长扫描二维码领取生产任务。根据每个人的生产效率进行派单。工人领取任务:工人扫描自己的二维......
  • 10.30日报
    今天完成设计模式的实验,以下为实验内容:实验9:桥接模式本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:1、理解桥接模式的动机,掌握该模式的结构;2、能够利用桥接模式解决实际问题。     [实验任务一]:两个维度的桥接模式用桥接模式实现在路上开车这个......
  • 10.31日报
    完成设计模式实验:实验10:组合模式本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:1、理解组合模式的动机,掌握该模式的结构;2、能够利用组合模式解决实际问题。     [实验任务一]:组合模式用透明组合模式实现教材中的“文件夹浏览”这个例子。实验要......
  • 10.18日报
    上了软件构造和企业文化的课,下午上了人机交互的课,完成了部分实验内容,做了一个主界面以下为部分代码:namespacetest1{partialclassloginForm{///<summary>///Requireddesignervariable.///</summary>privateSystem.ComponentMode......
  • 10.21日报
    上午进行了软件设计的实验课,以下为实验内容:实验6:原型模式本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:1、理解原型模式的动机,掌握该模式的结构;2、能够利用原型模式解决实际问题。     [实验任务一]:向量的原型用C++完成数学中向量的封装,其中,用......
  • 10.17日报
    今天进行了机器学习B的实验,以下为实验内容:上机实验一:数据准备与模型评估1、实验目的熟悉Python的基本操作,掌握对数据集的读写实现、对模型性能的评估实现的能力;加深对训练集、测试集、N折交叉验证、模型评估标准的理解。2、实验内容(1)利用pandas库从本地读取iris数据......
  • 10.16日报
    上午上了软件设计的课,进行了软件设计的实验实验4:抽象工厂模式本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:1、理解抽象工厂模式的动机,掌握该模式的结构;2、能够利用抽象工厂模式解决实际问题。     [实验任务一]:人与肤色使用抽象工厂模式,完成下......
  • 10.15日报
    今天进行了mes系统的开发的学习,了解了mes系统开发的主要步骤,要明确目标,弄清楚需求分析报告的要求,并且设置对应的数据库,并且了解了如何绘制上下文图。下午完成软件设计实验以下为实验内容实验3:工厂方法模式本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:1、理解工厂方......
  • Runway 新增视频扩展画面功能;Anthropic 再获亚马逊投资 40 亿美元,聚焦 AI 芯片研发丨
      开发者朋友们大家好: 这里是「RTE开发者日报」,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享RTE(Real-TimeEngagement)领域内「有话题的新闻」、「有态度的观点」、「有意思的数据」、「有思考的文章」、「有看点的会议」,但内容仅代表编辑......
  • 70 个群都来问我的 AI 日报,是这么做的。
    最近我给FastGPT用户交流群里接入了AI日报,每天早上10点会自动向群里推送AI日报,让群里的小伙伴们第一时间了解到昨天AI领域都发生了哪些大事。效果大概是这个样子的:如果你对FastGPT感兴趣,可以直接扫码入群:除此之外,我还同步一份到公司的飞书群里,这样公司的小伙伴们......