首页 > 编程 > Java > 正文

java装饰器模式

2019-11-08 18:23:35
字体:
来源:转载
供稿:网友
//被装饰类
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


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表