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

021.7 装饰设计模式

时间:2018-05-07 21:00:47      阅读:168      评论:0      收藏:0      [点我收藏+]

标签:解决   oid   system   style   static   模式   out   问题   extends   


解决问题 :给对象提供额外的功能(职责),比继承更灵活

public class PersonDemo
{

    public static void main(String[] args)
    {
        Person p = new Person();
        NewPerson np = new NewPerson(p);
        np.eat();
    }
}

class Person{
    void eat(){
        System.out.println("eat");
    }
}

//装饰器
class NewPerson{
    private Person p;
    public NewPerson(Person p){
        this.p = p;
    }
    void eat(){
        System.out.println("开胃");
        p.eat();
        System.out.println("甜点");
    }
}

//继承
class SubPerson extends Person{
    void eat(){
        System.out.println("开胃");
        super.eat();
        System.out.println("甜点");
    }
}

 

021.7 装饰设计模式

标签:解决   oid   system   style   static   模式   out   问题   extends   

原文地址:https://www.cnblogs.com/-nbloser/p/9004533.html

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