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

装饰设计模式

时间:2015-12-27 19:06:02      阅读:151      评论:0      收藏:0      [点我收藏+]

标签:

装饰设计模式:
当想要对已有的对象进行功能增强时
可以定义一个类,将已有对象传入,基于已有对象的功能,并提供加强功能
那么自定义的该类就称为装饰类。

装饰类通常会通过构造方法接收被装饰的对象
并基于被装饰的对象的功能提供更强的功能

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

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