首页 > 其他 > 详细

设计模式之装饰模式

时间:2015-07-04 13:48:16      阅读:250      评论:0      收藏:0      [点我收藏+]

装饰模式


动态的给一个对象增加一些额外的职责,就增加功能来说,装饰模式比生成子类更加灵活

person类:

package com.hml.decorator;

public class Person {
    private String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void show() {

    }
}

衣服类

package com.hml.decorator;

public class Finery extends Person {

    protected Person component;

    public void decorate(Person component) {
        this.component = component;
    }

    public void show() {
        if (component != null) {
            component.show();
        }
    }

}

T袖类

package com.hml.decorator;

public class TShirts extends Finery {

    public void show() {
        System.out.println("T袖");
    }

}

大裤衩类:

package com.hml.decorator;

public class BigTrouser extends Finery {

    public void show() {
        System.out.println("大裤衩");
    }

}

接下来,我们就可以创建一个对象,然后用T袖装饰,在用大裤衩装饰。

类图:
技术分享

装饰模式的特点


装饰模式是为已有功能动态的添加更多的功能的一种方式,把类中的装饰功能从类中搬移去除,这样可以简化原有的类。

设计模式之装饰模式

原文:http://www.cnblogs.com/heml/p/4620509.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!