首页 > 编程语言 >适配器模式java

适配器模式java

时间:2022-10-10 09:57:06浏览次数:38  
标签:System java test8 void dog 模式 public cat 适配器

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

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

 

 

 

代码按照图中顺序

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 catchs(){}
    public void wang(){}
    public void run(){
        System.out.println("小狗学小猫:");
        cat.catchs();
    }
    public void miao(){
        System.out.println("小猫学小狗:");
        dog.wang();
    }
}
package test8;

public interface Cat {
    public void catchs();
    public void miao();
}
package test8;

public interface Dog {
    public void wang();
    public void run();
}
package test8;

public class Main {

    public static void main(String[] args) {
        Dog dog=new Adapter();
        Cat cat=new Adapter();
        dog.run();
        cat.miao();
    }
}
package test8;

public  class Realcat implements Cat{
    public void miao(){
        System.out.println("喵喵叫!");
    }
    public void catchs(){
        System.out.println("抓老鼠!");
    }
}
package test8;

public class Realdog implements Dog{
    public void wang(){
        System.out.println("汪汪叫!");
    }
    public void run(){
        System.out.println("跑跑跑!");
    }
}

 

 

 

标签:System,java,test8,void,dog,模式,public,cat,适配器
From: https://www.cnblogs.com/rongzhang/p/16774588.html

相关文章

  • centos7 中安装java8
     使用yum安装001、查看安装包[root@localhosttest]#cat/etc/redhat-releaseCentOSLinuxrelease7.9.2009(Core)  002、查看java8安装包[root@localho......
  • 桥接模式
    用桥接模式实现在路上开车这个问题,其中,车可以是car或bus,路可以是水泥路或沥青路。   ////Createdby54417on2022-10-06.//#include<iostream>usingnam......
  • 建造者模式(二)
    #include<iostream>#include<string>usingnamespacestd;//产品类——Computer类classComputer{private:stringCPU;stringRAM;stringHard;......
  • Java开发学习(三十七)----SpringBoot多环境配置及配置文件分类
    一、多环境配置在工作中,对于开发环境、测试环境、生产环境的配置肯定都不相同,比如我们开发阶段会在自己的电脑上安装mysql,连接自己电脑上的mysql即可,但是项目开发完毕......
  • JavaScript中实现不可变对象
     实现不可变数据有三种主流的方法深克隆,但是深克隆的性能⾮常差,不适合⼤规模使用Immutable.js,Immutable.js性能良好,但是需要学习额外的APIimmer,利用Proxy特性,⽆需学......
  • 【Java8新特性】- Stream流
    Java8新特性-Stream流的应用......
  • java读取properties
    packagehello;importjava.io.IOException;importjava.util.Properties;publicclassMain{publicstaticvoidmain(String[]args)throwsIOException{//sett......
  • 算法1-Java
    importjava.util.Date;classTest{publicstaticvoidmain(String[]args){longt1=newDate().getTime();for(inta=0;a<1001;a++){......
  • 一起学习设计模式:备忘录模式——软件的“后悔药”
    备忘录模式——软件的“后悔药”备忘录是一种行为设计模式,允许在不暴露对象实现细节的情况下保存和恢复对象之前的状态,并将其保存下来。备忘录模式就像是软件中的“后悔药......
  • Java微服务 pdf
    高清扫描版下载链接:https://pan.baidu.com/s/1jJosVcLLNrn_RWxiQsBQwA点击这里获取提取码 ......