大白话:把对象给一个操控器,使用操控器让对象做事情
public class CommonDemo {
public interface Animal{
public void play();
}
static class Cat implements Animal{
@Override
public void play() {
System.out.println("爬树...");
}
}
static class Bird implements Animal{
@Override
public void play() {
System.out.println("飞翔...");
}
}
static class CommonInvoker {
private Animal animal;
public Animal getAnimal() {
return animal;
}
public void setAnimal(Animal animal) {
this.animal = animal;
}
public void deal(){
animal.play();
}
}
public static void main(String[] args) {
CommonInvoker commonInvoker = new CommonInvoker() ;
Animal cat = new Cat() ;
commonInvoker.setAnimal(cat);
commonInvoker.deal();
Animal bird = new Bird() ;
commonInvoker.setAnimal(bird);
commonInvoker.deal();
}
}