黑马程序员:Java基础总结
装饰设计模式
装饰设计模式
概述:
动态的给一个对象添加一些额外的职责,就增加功能来说,Decorator模式相比生成子类更为灵活。
类型:
结构型模式。
当想要对已有的对象进行功能增强时,
可以定义类,将已有对象传入,基于已有的功能,并提供加强功能。
那么自定义的该类称为装饰类。
装饰类通常会通过构造方法接收被装饰的对象。
并基于被装饰的对象的功能,提供更强的功能
而且降低了类于类之间的关系。
装饰类因为增强已有对象,具备的功能和已有的是相同的,只不过提供了更强功能。
所以装饰类和被装饰类通常是都属于一个体系中的。
class Person {
public void chifan() {
System. out.println("吃饭" );
}
}
class SuperPerson {
private Person p ;
SuperPerson(Person p) {
this.p = p;
}
public void superChifan() {
System. out.println("开胃酒" );
p.chifan();
System. out.println("甜点" );
System. out.println("来一根" );
}
}
public class Ts {
public static void main(String[] args) {
Person p = new Person();//先有人
// p.chifan();
SuperPerson sp = new SuperPerson(p);//把我传进去
sp.superChifan();
}
}