码迷,mamicode.com
首页 > 其他好文 > 详细

装饰设计模式

时间:2016-10-07 01:19:27      阅读:116      评论:0      收藏:0      [点我收藏+]

标签:

装饰设计模式:
对一组对象的功能进行增强时,就可以使用该模式进行问题的解决。

装饰继承都能实现一样的特点:功能的扩展增强。
有什么区别
首先有一个继承体系。
Writer
|--TextWriter:用于操作文本
|--MediaWriter:用于操作媒体
按照面向对象,可以通过继承对具体的进行功能的扩展。
为了提高功能,扩展子类进行继承。导致继承体系越来越臃肿,不够灵活,
那么就将该功能进行独立的封装,哪个对象需要功能就将哪个对象关联。
装饰比继承灵活
特点:装饰类和被装饰类都必须所属同一个接口或者父类。

package p5.io.buffer.wapper;

public class  PersonDemo {

    public static void main(String[] args) {
        Person p=new Person();
        p.chifan();
        NewPerson p1=new NewPerson(p);
        p1.chifan();
    }
}
class Person { void chifan(){ System.out.println("吃饭"); } }
//这个类的出现时为了增强Person而出现的。 class NewPerson{ private Person p; NewPerson(Person p){ this.p=p; } public void chifan(){ System.out.println("开胃酒"); p.chifan(); System.out.println("甜点"); } } //使用继承方法 class NewPerson2 extends Person{ public void chifan(){ System.out.println("开胃酒"); super.chifan(); System.out.println("甜点"); } }

 

装饰设计模式

标签:

原文地址:http://www.cnblogs.com/xiangkejin/p/5935087.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!