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();
}
}