UML类图:
被装饰对象:
package com.jthao.design.des.decorator;
public class Person {
public Person() {
}
private String name;
public Person(String name) {
this.name = name;
}
public void show() {
System.out.println("打扮好的" + name);
}
}
装饰抽象类:
package com.jthao.design.des.decorator;
public class Person {
public Person() {
}
private String name;
public Person(String name) {
this.name = name;
}
public void show() {
System.out.println("打扮好的" + name);
}
}
具体装饰对象A:
package com.jthao.design.des.decorator;
public class Tie extends Finery {
public void show() {
System.out.println("领带");
super.show();
}
}
具体装饰对象B:
package com.jthao.design.des.decorator;
public class TShirts extends Finery {
public void show() {
System.out.println("T恤");
super.show();
}
}
测试类:
package com.jthao.design.des.decorator;
public class DecoratorTest {
public static void main(String[] args) {
Person person = new Person("小明");
TShirts tShirts = new TShirts();
Tie tie = new Tie();
tShirts.decorate(person);
tie.decorate(tShirts);
tie.show();
}
}