适配器模式代码

public interface Cat {
    
    

    public void cry();

    public void catchMouse();

}
public interface Dog {
    
    

    public void wang();

    public void action();


}
public class ConcreateCat implements Cat{
    
    

    @Override

    public void cry(){
    
    

        System.out.println("小猫叫!喵喵喵。。。。。");

    }

    @Override

    public void catchMouse(){
    
    

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

    }

}
public class ConcreateDog implements Dog {
    
    


    @Override

    public void wang() {
    
    

        System.out.println("小狗叫!汪汪汪。。。。");

    }

    @Override

    public void action() {
    
    

        System.out.println("小狗动!");

    }

}
public class Adapter implements Cat, Dog {
    
    

    Dog dog;

    Cat cat;

    public Adapter(Dog dog) {
    
    

        this.dog = dog;

    }


    public Adapter(Cat cat) {
    
    

        this.cat = cat;

    }


    @Override

    public void wang() {
    
    

        System.out.println("小狗叫!汪汪汪。。。。");

    }


    @Override

    public void action() {
    
    

        cat.catchMouse();

    }


    @Override

    public void cry() {
    
    

        System.out.println("小猫叫!喵喵喵。。。。。");

    }


    @Override

    public void catchMouse() {
    
    

        dog.action();

    }


}
public class Client {
    
    

    public static void main(String[] args) {
    
    

        System.out.println("软件设计模式实验||适配器模式||软件2014班||延月刚||2020007218");

        Cat cat = new Adapter(new ConcreateDog());

        cat.cry();

        cat.catchMouse();

        Dog dog = new Adapter(new ConcreateCat());

        dog.wang();

        dog.action();

    }

}

猜你喜欢

转载自blog.csdn.net/m0_59076472/article/details/130836687