static void Main(string[] args) { //每一个concrete类都有一个component成员变量(继承自finery类),调用base.show()实际上是调用component 变量的show函数 //基类finery是核心类,component变量是核心变量,其变量类型为finery父类 Person person = new Person("Hello"); Console.WriteLine("\n第一种装扮:"); TShirt tShirt = new TShirt(); BigTrousers trousers = new BigTrousers(); Snearkers neark = new Snearkers(); trousers.Decorate(tShirt); tShirt.Decorate(neark); neark.Decorate(person); trousers.Show(); Console.WriteLine("\n第二种装扮:"); trousers.Decorate(person); tShirt.Decorate(trousers); neark.Decorate(tShirt); neark.Show(); Console.ReadKey(); }
// Use this for initialization void Start() { Person self = new Person("自己"); Shoe shoe = new Shoe(); TShirt shirt = new TShirt(); print("这种装扮是:"); //装饰过程 shirt.Decorator(self); //先穿T恤 shoe.Decorator(shirt); //再穿鞋 shoe.Show(); }