/*
装饰设计模式:
想对已有对象的功能进行增强时,
可以定义类,将已有的对象传入已有的功能,并加强功能,那么自定义的
该类称为装饰类,装饰类和被装饰类属于同一个体系。
装饰设计模式和继承:避免了单继承的臃肿局限,比较灵活
降低了类与类之间的关系
*/
class Person{
public void chifan(){
System.out.println("吃饭");
}
}
class SuperPerson{
private Person p;
SuperPerson(Person p){
this.p =p;
}
public void chifan(){
System.out.println("开胃酒");
p.chifan();
System.out.println("甜点");
System.out.println("来一根");
}
}
public class 装饰设计模式 {
public static void main(String args[]){
SuperPerson sp = new SuperPerson(new Person());
sp.chifan();
}
} |
|