首页 > 其他分享 >11.4

11.4

时间:2024-11-04 16:10:42浏览次数:3  
标签:11.4 void dog Dog Cat cat public

实验8:适配器模式

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

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

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

 

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

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

实验要求:

1. 画出对应的类图;

 

2. 提交源代码;

Adapter.java

package test8;

public class Adapter implements Cat,Dog{

    private Cat cat=new Realcat();

    private Dog dog=new Realdog();

    public void setcat(Cat _cat){

        cat=_cat;

    }

    public void setdog(Dog _dog){

        dog=_dog;

    }

    public void zhua(){}

    public void wang(){}

    public void run(){

        System.out.println("小狗学小猫:");

        cat.zhua();

    }

    public void cry(){

        System.out.println("小猫学小狗:");

        dog.wang();

    }

}

 

Cat.java

package test8;

public interface Cat {

    public void cry();

    public void zhua();

 

}

 

Dog.java

package test8;

public interface Dog {

    public void wang();

    public void run();

 

}

 

Realcat.java

package test8;

public class Realcat implements Cat{

    public void cry(){

        System.out.println("喵喵叫!");

    }

    public void zhua(){

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

    }

}

 

Realdog.java

package test8;

public class Realdog implements Dog{

    public void wang(){

        System.out.println("汪汪叫!");

    }

    public void run(){

        System.out.println("快快跑!");

    }

 

}

 

main.java

package test8;

public class main {

 

    public static void main(String[] args) {

        Dog dog=new Adapter();

        Cat cat=new Adapter();

        dog.run();

        cat.cry();

    }

}

 

 

3.注意编程规范。

标签:11.4,void,dog,Dog,Cat,cat,public
From: https://www.cnblogs.com/0608lin/p/18525502

相关文章

  • 2024.11.4 test
    B你可以进行以下的操作:选择一个点染白色;此后每次染有白色点相邻的,且\(a_i\)最小的点。\(q\)次询问每次给出\(p,k\),问有多少种选择点的方案,使得\(p\)是第\(k\)个选到的。\(a_i\)是排列。\(n,q\le1e5\)。设\(l=p-k+1,r=p+k-1\),若\([l,p-1]\)能取到且\(a_p<a_{l-1}......
  • 第十一章 【后端】商品分类管理微服务(11.4)——spring-boot-devtools
    11.4spring-boot-devtools官网:https://docs.spring.io/spring-boot/reference/using/devtools.htmlSpringBootDevTools是SpringBoot提供的一组易于使用的工具,旨在加速开发和测试过程。它通过提供一系列实用的功能,如自动重启、实时属性更新、依赖项的热替换等,极大地......
  • BT5 2011.4.社会工程学.1.JAVA
    4.社会工程学工具 内容简介第一部分:JavaAppletAttackMethod第二部分:CredentialHarvesterAttackMethod 第一部分JavaAppletAttackMethod 拓扑介绍 SET介绍TheSETisanadvanced,multi-function,andeasytousecomputerassistedsocialengineering......
  • vSphere5.11.4.VUM
    第四部分vmwareupdatemanagervmwareupdatemanager的介绍vumisatooldesignedtohelpvmwareadministratorsautomateandstreamlinetheprocessofapplyingupdates,whichcouldbepatchesorupgrades(升级和打补丁),totheirvsphereenvironment.vumisfully......
  • 【中项】系统集成项目管理工程师-第11章 项目范围管理-11.4创建WBS
    前言:系统集成项目管理工程师专业,现分享一些教材知识点。觉得文章还不错的喜欢点赞收藏的同时帮忙点点关注。     软考同样是国家人社部和工信部组织的国家级考试,全称为“全国计算机与软件专业技术资格(水平)考试”,目前涵盖了计算机软件、计算机网络、计算机应用技术......
  • 11.4 插入排序
    目录11.4 插入排序11.4.1 算法流程11.4.2 算法特性11.4.3 插入排序的优势11.4 插入排序插入排序(insertionsort)是一种简单的排序算法,它的工作原理与手动整理一副牌的过程非常相似。具体来说,我们在未排序区间选择一个基准元素,将该元素与其左侧已排序区......
  • 11.4 命令判断
    11.4命令判断11.4.1用到的三个特殊符号:;&&||1.; 分号:不考虑指令的相关性,连续性,分号;不保证命令全部执行成功的命令:cd/opt/&&touch/opt/test.txt&&ls解释:命令1;命令2`命令1`不论执行成功与否,`命令2`一定会执行......
  • 解决wpscan运行报错Could not find 'nokogiri' (>= 1.11.4, < 1.13.0) among 125 tota
    报错内容:/usr/lib/ruby/vendor_ruby/rubygems/specification.rb:1404:in`rescueinblockinactivate_dependencies':Couldnotfind'nokogiri'(>=1.11.4,<1.13.0)among125totalgem(s)(Gem::MissingSpecError)Checkedin'GEM_PATH=/roo......
  • C++ //练习 11.4 扩展你的程序,忽略大小写和标点。例如,“example.“、“exmaple,“和”
    C++Primer(第5版)练习11.4练习11.4扩展你的程序,忽略大小写和标点。例如,“example.”、"exmaple,"和”Example"应该递增相同的计数器。环境:LinuxUbuntu(云服务器)工具:vim 代码块/************************************************************************* >Fil......
  • macOS Big Sur 11.4 (20F71) 正式版(DMG、ISO、IPSW),百度网盘下载
    macOSBigSur11.4(20F71)正式版(DMG、ISO、IPSW),百度网盘下载本站提供的macOSBigSur软件包,既可以拖拽到Applications(应用程序)下直接安装,也可以制作启动U盘安装,或者在虚拟机中启动安装。2021.05.24ApplereleasemacOSBigSur11.4(20F71)macOSBigSur11.4更新内容:m......