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

设计模式之装饰模式

时间:2015-07-04 13:50:47      阅读:125      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!