装饰设计模式:
当想要对已有的对象进行功能增强时,
可以定义类,将已有对象传入,基于已有的功能,并提供加强功能。
那么自定义的该类称为装饰类。
BufferedReader类就是利用这个设计模式,对FileReader类的功能进行了增强。产生新的方法readLine方法。
public class Test {
public static void main(String args[])
{
Person p=new Person();
SuperPerson sp = new SuperPerson(p);
sp.superChifan();
}
}
class Person{
public void chifan(){
System.out.println("吃饭");
}
}
//SuperPerson对Person类的chifan方法进行了增强
class SuperPerson{
private Person p;
public SuperPerson(Person p){
this.p=p;
}
public void superChifan(){
System.out.println("饭前开胃菜");
p.chifan();
System.out.println("饭后甜点");
}
}