标签:
装饰设计模式:
当想要对已有的对象进行功能增强时
可以定义一个类,将已有对象传入,基于已有对象的功能,并提供加强功能
那么自定义的该类就称为装饰类。
装饰类通常会通过构造方法接收被装饰的对象
并基于被装饰的对象的功能提供更强的功能
class Test{ public static void main(String[] args){ Person p=new Person(); //p.chifan();//老的吃饭方法 SuperPerson sp=new SuperPerson(p); sp.superchifan();//新的吃饭方法 } } class Person{ public void chifan(){ System.out.println("吃饭"); } } class SuperPerson{ //成员的引用,让p这个对象可以作用与整个类 private Person p; //既然是功能的增强,那么首先要增强要增强的对象 //所以在构造函数上建立需要增强的对象 SuperPerson(Person p){ this.p=p; } public void superchifan(){ System.out.println("开胃酒");//增强功能 p.chifan(); System.out.println("甜点");//增强功能 } }
标签:
原文地址:http://www.cnblogs.com/s158/p/5080455.html