首页 > 其他分享 >每日总结39

每日总结39

时间:2024-11-13 09:23:10浏览次数:1  
标签:总结 39 适配器 dog public void Dog Cat 每日

软件设计                  石家庄铁道大学信息学院

 

实验8:适配器模式

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

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

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

 
   

 


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

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

实验要求:

 

// 猫的行为接口

public interface Cat {

    void catchMouse();

}

 

// 狗的行为接口

public interface Dog {

    void bark();

}

// 具体的猫类

public class CatImpl implements Cat {

    @Override

    public void catchMouse() {

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

    }

}

 

// 具体的狗类

public class DogImpl implements Dog {

    @Override

    public void bark() {

        System.out.println("狗在叫");

    }

}

// 猫适配狗的适配器

public class CatToDogAdapter implements Dog {

    private Cat cat;

 

    public CatToDogAdapter(Cat cat) {

        this.cat = cat;

    }

 

    @Override

    public void bark() {

        cat.catchMouse(); // 猫学狗叫,实际上是抓老鼠

    }

}

 

// 狗适配猫的适配器

public class DogToCatAdapter implements Cat {

    private Dog dog;

 

    public DogToCatAdapter(Dog dog) {

        this.dog = dog;

    }

 

    @Override

    public void catchMouse() {

        dog.bark(); // 狗学猫抓老鼠,实际上是叫

    }

}

public class AdapterTest {

    public static void main(String[] args) {

        Cat cat = new CatImpl();

        Dog dog = new DogImpl();

 

        // 猫学狗叫

        Dog catAsDog = new CatToDogAdapter(cat);

        catAsDog.bark();

 

        // 狗学猫抓老鼠

        Cat dogAsCat = new DogToCatAdapter(dog);

        dogAsCat.catchMouse();

    }

}

标签:总结,39,适配器,dog,public,void,Dog,Cat,每日
From: https://www.cnblogs.com/azure011328/p/18543072

相关文章

  • 每日总结38
    软件设计                 石家庄铁道大学信息学院 实验7:单例模式本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:1、理解单例模式的动机,掌握该模式的结构;2、能够利用单列模式解决实际问题。    [实验任务一]:学号的单一仿照......
  • 每日总结41
    软件设计                 石家庄铁道大学信息学院 实验10:组合模式本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:1、理解组合模式的动机,掌握该模式的结构;2、能够利用组合模式解决实际问题。    [实验任务一]:组合模式用透明......
  • SAM4MLLM:结合多模态大型语言模型和SAM实现高精度引用表达分割 | ECCV'24
    来源:晓飞的算法工程笔记公众号,转载请注明出处论文:SAM4MLLM:EnhanceMulti-ModalLargeLanguageModelforReferringExpressionSegmentation论文地址:https://arxiv.org/abs/2409.10542论文代码:https://github.com/AI-Application-and-Integration-Lab/SAM4MLLM创......
  • 腾讯云开发技术总结及核心功能概览
    在现代应用开发中,开发者们越来越倾向于寻找能简化开发、测试、发布的高效解决方案。腾讯云的云开发(CloudBase)平台提供了一整套云端开发、调试和部署的能力,尤其在一体化开发、跨平台支持和低代码应用构建方面展现了显著优势。本文将探索腾讯云开发的核心优势、功能特色,并通过示......
  • CentOS 7 超详细安装教程指南总结
    CentOS7详细安装教程一、安装前准备1.1CentOS简介CentOS(CommunityEnterpriseOperatingSystem,中文意思是社区企业操作系统)是一种基于RedHatEnterpriseLinux(RHEL)源代码构建的免费开源操作系统。它在稳定性、安全性和可靠性方面表现出色,被广泛应用于服务器环境、企业......
  • 2024.11.12总结报告(一本“英语八年级上册”TEST4 A完形填空 难度:2)
    今日份错误:基本介绍:本题为完形填空选择题,一共10题,错误2题基本考点:本题考查重点为翻译和理解,难点为语法和词汇错误题目:(7)(10)分析:(7)本小题的错误原因为语法,理解中出现错误,具体为动词的过去式与过去分词并未熟练掌握,上下文的联系不够紧密,对文章的理解能力出现问题,思路出现错误不......
  • 每日OJ题_牛客_kotori和迷宫_BFS_C++_Java
    目录牛客_kotori和迷宫_BFS题目解析C++代码Java代码牛客_kotori和迷宫_BFSkotori和迷宫描述:        kotori在一个n*m迷宫里,迷宫的最外层被岩浆淹没,无法涉足,迷宫内有k个出口。kotori只能上下左右四个方向移动。她想知道有多少出口是她能到达的,最近的出口离她......
  • 代码随想录算法训练营第二十三天| leetcode39. 组合总和、leetcode40.组合总和II、lee
    1leetcode39.组合总和题目链接:39.组合总和-力扣(LeetCode)文章链接:代码随想录视频链接:带你学透回溯算法-组合总和(对应「leetcode」力扣题目:39.组合总和)|回溯法精讲!_哔哩哔哩_bilibili思路:跟之前差不多,就是将他的循环改一下,但是我发现有重复的数值了,不知道如何删除1.1自......
  • Illegal mix of collations for operation 'UNION' 记录错误
    24-11-12,在DVWA靶场练习回顾SQL注入union注入的时候突然发现,不管搞都报错!Illegalmixofcollationsforoperation'UNION'自己查了好久之后才发现是数据库编码不匹配的问题!!!union两端的字段的collatie(排序规则)不同参考:https://blog.csdn.net/qq_43665434/article/details/......
  • Solution - Codeforces 1394B Boboniu Walks on Graph
    考虑先分析最后的图会长成什么样。因为每个点都只会连出一条有向边,且最后还能走回自己。所以可以知道的是图会有许多个环来组成,且每个环都无交。但是这个判定条件明显不是很优秀,考虑继续转化。考虑到对于一个有向环,每个点的出度和入度都需要为\(1\)。那么出度为\(1\)题目......