10月30日

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

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

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

 
   

 

 

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

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

实验要求:

1.画出对应的类图;

2.提交源代码;

3.注意编程规范。

 

实验内容:

1.  类图

 

 

2.  源代码

package org.example;
//使用实例
public class Program {
    public static void main(String[] args) {
        DogTarget dog = new ConcreteDog();
        CatTarget cat = new ConcreteCat();
        dog.cry();
        cat.catchMouse();
        Adapter adapter = new Adapter(dog, cat);
        adapter.catchMouse();
        adapter.cry();
    }
}

interface DogTarget {
    void cry();
}

interface CatTarget {
    void catchMouse();
}

class ConcreteDog implements DogTarget {
    @Override
    public void cry() {
        System.out.println("汪汪汪..");
    }
}

class ConcreteCat implements CatTarget {
    @Override
    public void catchMouse() {
        System.out.println("会抓老鼠!");
    }
}
//双向适配器
class Adapter implements DogTarget, CatTarget {
    private CatTarget cat;
    private DogTarget dog;

    public Adapter(DogTarget dog, CatTarget cat) {
        this.dog = dog;
        this.cat = cat;
    }

    @Override
    public void cry() {
        cat.catchMouse();
    }

    @Override
    public void catchMouse() {
        dog.cry();
    }
}

 

3.  运行截图

 

posted @ 2024-10-30 20:50  序章0  阅读(28)  评论(0)    收藏  举报