6、装饰模式
不是我不小心,只是真情难以寻觅,不是我存心故意,只因无法找到良机,哈哈!!!精辟
Decorator(装饰模式)
动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活.
什么时候使用?
也就是说是为已有的功能动态地添加更多功能的一种方式,当系统需要新功能的时候,是向旧的类中添加新的代码,这些新加的代码通常装饰了原有类的核心职责或主要行为.
但问题是,它们在主类中加入了新的字段,新的方法和逻辑,从而增加了主类的复杂度,而这些新加入的东西仅仅是为了满足一些只在某种特定情况下才会执行的特殊行为的需要,装饰模式却提供了一个非常好的解决方案,它把每个要装饰的功能放在单独的类中,并让这个类包装它所要装饰的对象,因此,当需要执行特殊行为时,客户代码就可以在运行时根据需要有选择地,按顺序的使用装饰功能包装对象.
装饰模式的装饰顺序很重要.可以自己调节!
下面来看看代码实现
抽象类人!
public class Test {/** * @param args */public static void main(String[] args) {//爱好Hobby s = new Hobby();//老师jasonTeacherJason jason = new TeacherJason();jason.setPerson(s);jason.action();}}