适配器模式

发布时间 2023-11-21 21:20:57作者: YE-

[实验任务一]:双向适配器
实现一个双向适配器,使得猫可以学狗叫,狗可以学猫抓老鼠。
实验要求:

  1. 画出对应的类图;

  2. 提交源代码;
    Adapter.java
    package robot;

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("A dog learns from a cat:");

    cat.zhua();

}

public void cry(){

    System.out.println("A cat like dog:");

    dog.wang();

}

}
Cat.java
package robot;

public interface Cat {

public void cry();

public void zhua();

}

Dog.java
package robot;

public interface Dog {

public void wang();

public void run();

}

Main.java
package robot;

public class main {

public static void main(String[] args) {

    Dog dog=new Adapter();

    Cat cat=new Adapter();

    dog.run();

    cat.cry();

}

}

Realcat.java
package robot;

public class Realcat implements Cat{

public void cry(){

    System.out.println("miao miao!");

}

public void zhua(){

    System.out.println("Catch the mouse!");

}

}

Realdog.java
package robot;

public class Realdog implements Dog{

public void wang(){

    System.out.println("wang wang!");

}

public void run(){

    System.out.println("Make a run for it!");

}

}

3.注意编程规范。