person.java
package org.ustc.decorator;
public class Person {
public String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public void show(){
System.out.println("装饰的"+name);
}
}
Decorator.java
package org.ustc.decorator;
public class Decortor extends Person{
public Person person;
public void decorate(Person person){
this.person = person;
}
public Person getPerson() {
return person;
}
public void setPerson(Person person) {
this.person = person;
}
public void show(){
if(person!=null){
person.show();
}
}
}
继承类
package org.ustc.decorator;
public class BigTrousers extends Decortor {
@Override
public void show() {
// TODO Auto-generated method stub
System.out.println("跨库");
super.show();
}
}
package org.ustc.decorator;
public class Sneaker extends Decortor {
@Override
public void show() {
// TODO Auto-generated method stub
System.out.println("板鞋");
super.show();
}
}
package org.ustc.decorator;
public class Tshirt extends Decortor {
@Override
public void show() {
// TODO Auto-generated method stub
System.out.println("t恤衫");
super.show();
}
}
main.java
package org.ustc.decorator;
public class Main {
public static void main(String[] args) {
Person person = new Person();
person.setName("小菜");
BigTrousers bt = new BigTrousers();
Sneaker sk = new Sneaker();
Tshirt ts = new Tshirt();
bt.decorate(person);
sk.decorate(bt);
ts.decorate(sk);
System.out.println("第一套装备:");
ts.show();
}
}