* 装饰设计模式:
* 自定义一个类,将已有的对象传入,基于已有功能,进行功能增强的类称为
装饰类
* 装饰类通常会通过构造函数接受被装饰的对象,并基于被装饰的对象的功能,提供更强大的功能
*
*
装饰和继承的区别:
*
*
* 1.装饰模式比继承要灵活,避免了继承体系的臃肿
* 2.降低了类之间的关系
*
* 装饰类和被装饰类通常是属于一个体系
public class PersonDemo {
public static void main(String[] args) {
Person p = new Person();
SuperPerson sp = new SuperPerson(p);
sp.superEat();
}
}
class Person
{
public void eat()
{
System.out.println("吃饭");
}
}
class SuperPerson
{
private Person p;
SuperPerson(Person p)
{
this.p=p;
}
public void superEat()
{
System.out.println("开胃酒");
p.eat();
}
}