软件设计第八次实验

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

 

实验8:适配器模式

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

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

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

 
   

 


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

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

实验要求:

1.画出对应的类图;

2.提交源代码;

3.注意编程规范。

 

  1. 类图:

 

  1. 运行结果:

 

 

  1. 源代码:

 

Adapter.java

package fileshiyan8;

 

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 fileshiyan8;

 

public interface Cat {

    public void cry();

    public void zhua();

 

}

 

Dog.java

package fileshiyan8;

 

public interface Dog {

    public void wang();

    public void run();

 

}

 

main.java

package fileshiyan8;

 

public class main {

 

    public static void main(String[] args) {

        Dog dog=new Adapter();

        Cat cat=new Adapter();

        dog.run();

        cat.cry();

    }

}

 

 

Realcat.java

package fileshiyan8;

 

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 fileshiyan8;

 

public class Realdog implements Dog{

    public void wang(){

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

    }

    public void run(){

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

    }

 

}

 

posted @ 2023-11-06 08:28  风·华正茂  阅读(17)  评论(0编辑  收藏  举报