//被装饰类class Person{ public Person(){} PRivate String name; public Person(String name){ this.name=name; } public void show(){ System.out.println("show " + name); }}//服饰类:装饰父类class Finery extends Person{ protected Person component; public void Decorate(Person component){ this.component=component; } public void show(){ if(component !=null) { component.show(); } }}//具体服饰类:装饰子类class TShirts extends Finery{ public void show(){ System.out.print(" Tshirts "); super.show(); }}class BigTrouser extends Finery{ public void show(){ System.out.print(" BigTrouser "); super.show(); }}public class Test { public static void main(String[] args){ Person xc=new Person("xiao cai"); TShirts ts=new TShirts(); BigTrouser bt=new BigTrouser(); bt.Decorate(ts); ts.Decorate(xc); ts.show(); }}结果:
BigTrouser Tshirts show xiao cai
新闻热点
疑难解答