您的位置:首页 > 其它

设计模式之装饰模式

2015-07-04 12:23 351 查看
装饰模式

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

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袖装饰,在用大裤衩装饰。

类图:



装饰模式的特点

装饰模式是为已有功能动态的添加更多的功能的一种方式,把类中的装饰功能从类中搬移去除,这样可以简化原有的类。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: