简单的装饰模式
public interface Person {
void eat();
}
public class Man implements Person {
public void eat() {
System.out.println("小孩在吃!");
}
}
public abstract class Decorator implements Person {
protected Person person;
public void setPerson(Person person){
this.person = person;
}
public void eat() {
person.eat();
}
}
public class ManDecoratorA extends Decorator {
public void eat(){
super.eat();
reEat();
System.out.println("ManDecoratorA类");
}
private void reEat() {
System.out.println("再吃一顿");
}
}
public class ManDecoratorB extends Decorator {
protected Person person;
public void eat(){
super.eat();
System.out.println("-------------");
System.out.println("ManDecoratorB类");
}
}