2024.12.4

 

public class Adapter implements Dog, Cat  

{  

    private Dog dog;  

    private Cat cat;  

 

    public Dog getDog()  

    {  

        return dog;  

    }  

 

    public void setDog(Dog dog)  

    {  

        this.dog = dog;  

    }  

 

    public Cat getCat()  

    {  

        return cat;  

    }  

 

    public void setCat(Cat cat)  

    {  

        this.cat = cat;  

    }  

 

    @Override  

    public void miao()  

    {  

        System.out.print("猫学抓老鼠");  

        dog.wang();  

    }  

 

    @Override  

    public void catchMouse()  

    {  

        cat.catchMouse();  

    }  

 

    @Override  

    public void wang()  

    {  

        dog.wang();  

    }  

 

    @Override  

    public void act()  

    {  

        System.out.print("狗学抓老鼠");  

        cat.catchMouse();  

    }  

}  

 

public interface Cat  

{  

    public void miao();  

    public void catchMouse();  

}  

 

public class CatImpl implements Cat  

{  

    @Override  

    public void miao()  

    {  

        System.out.println("喵喵喵");  

    }  

 

    @Override  

    public void catchMouse()  

    {  

        System.out.println("猫捉老鼠");  

    }  

}  

 

public interface Dog  

{  

    public void wang();  

    public void act();  

}  

 

public class DogImpl implements Dog  

{  

    @Override  

    public void act()  

    {  

        System.out.println("狗捉鸡");  

    }  

 

    @Override  

    public void wang()  

    {  

        System.out.println("汪汪汪");  

    }  

}  

 

public class Client  

{  

    public static void main(String[] args)  

    {  

        Cat cat = new CatImpl();  

        Dog dog = new DogImpl();  

        cat.miao();  

        dog.act();  

        Adapter adapter = new Adapter();  

        adapter.setDog(dog);  

        adapter.setCat(cat);  

        cat = adapter;  

        cat.miao();  

        dog = adapter;  

        dog.act();  

    }  

}

posted @ 2024-12-04 09:21  kuku睡  阅读(6)  评论(0)    收藏  举报