软件设计:实验8:适配器模式

实验8:适配器模式

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

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

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

 

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

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

实验要求:

1.画出对应的类图;

2.提交源代码;

3.注意编程规范。

 

1.

 

2.// 猫的行为接口

interface CatBehavior {

    void catchMouse();

}

 

// 狗的行为接口

interface DogBehavior {

    void bark();

}

 

// 猫类

class Cat implements CatBehavior {

    @Override

    public void catchMouse() {

        System.out.println("猫正在抓老鼠");

    }

}

 

// 狗类

class Dog implements DogBehavior {

    @Override

    public void bark() {

        System.out.println("狗正在叫");

    }

}

 

// 猫适配器,使得猫可以学狗叫

class CatAdapter implements DogBehavior {

    private Cat cat;

 

    public CatAdapter(Cat cat) {

        this.cat = cat;

    }

 

    @Override

    public void bark() {

        System.out.println("猫模仿狗叫:喵喵喵");

    }

}

 

// 狗适配器,使得狗可以学猫抓老鼠

class DogAdapter implements CatBehavior {

    private Dog dog;

 

    public DogAdapter(Dog dog) {

        this.dog = dog;

    }

 

    @Override

    public void catchMouse() {

        System.out.println("狗模仿猫抓老鼠:汪汪汪");

    }

}

 

// 测试类

public class AdapterTest {

    public static void main(String[] args) {

        Cat cat = new Cat();

        Dog dog = new Dog();

 

        CatAdapter catAdapter = new CatAdapter(cat);

        DogAdapter dogAdapter = new DogAdapter(dog);

 

        catAdapter.bark(); // 猫模仿狗叫

        dogAdapter.catchMouse(); // 狗模仿猫抓老鼠

    }

}

posted @ 2024-11-27 17:02  痛苦代码源  阅读(3)  评论(0编辑  收藏  举报