2024/11/05

软件设计实验八

[实验任务一]:双向适配器
实现一个双向适配器,使得猫可以学狗叫,狗可以学猫抓老鼠。
实验要求:
1.    画出对应的类图;
 
2.    提交源代码;
public interface CatTarget {
    void catchMouse();
}

public interface DogTarget {
    void brak();
}

public class ConcreteCat implements CatTarget{
    @Override
    public void catchMouse() {
        System.out.print("汤姆:");
        System.out.println("抓杰瑞");
    }
}

public class ConcreteDog implements DogTarget{
    @Override
    public void brak() {
        System.out.print("派克");
        System.out.println("狗叫");
    }
}

public class Adapter implements CatTarget, DogTarget{
    private CatTarget cat;
    private DogTarget dog;

    public Adapter(DogTarget dogTarget, CatTarget catTarget) {
        this.dog = dogTarget;
        this.cat = catTarget;
    }
    @Override
    public void catchMouse() {
        System.out.println("-----这是猫");
        dog.brak();
        System.out.println("-----这是猫");
    }

    @Override
    public void brak() {
        System.out.println("-----这是狗");
        cat.catchMouse();
        System.out.println("-----这是狗");
    }
}

public class App
{
    public static void main( String[] args )
    {
        DogTarget dog = new ConcreteDog();
        CatTarget cat = new ConcreteCat();
        dog.brak();
        cat.catchMouse();
        Adapter adapter = new Adapter(dog, cat);
        adapter.catchMouse();
        adapter.brak();
    }
}

 

posted @ 2024-11-05 17:31  伐木工熊大  阅读(5)  评论(0)    收藏  举报