public class Kiruma implements Person {
private String name;
public Kiruma(String name){
this.name=name;
}
@Override
public void show(){
System.out.println(name+"什么都没穿");
}
}
public abstract class Decotator implements Person{
private Person person;
public void setPerson(Person person){
this.person=person;
}
public void show(){
if(person!=null){
person.show();
}
}
}
public class Shoes extends Decotator{
@Override
public void show(){
super.show();
System.out.println("穿上了鞋子");
}
}
public class Tshit extends Decotator {
@Override
public void show(){
super.show();
System.out.println("穿上了Tshit");
}
}
public class Test {
public static void main(String[] args){
Kiruma kiruma=new Kiruma("kiruma");
Shoes shoes=new Shoes();
shoes.setPerson(kiruma);
Tshit tshit=new Tshit();
tshit.setPerson(shoes);
tshit.show();
}
}