C#学习笔记-装饰模式
题目:给顾客打扮,但是需要满足正常的穿衣风格,例如先穿了衬衣再打领带,最后在穿鞋子,这种基本要求。
分析:
现在将具体的衣服裤子和鞋子都分别写在不同的类里面,这样方便以后添加新的衣服,这些全部都属于服装类,所以将服装类设为父类,服装依附于人,故此服装的父类又是人。
人的类:
1 class Person 2 { 3 public Person() 4 { } 5 string name; 6 public Person(string Name) 7 { 8 name = Name; 9 } 10 11 public virtual void Show() 12 { 13 Console.WriteLine(" 装扮的{0}", name); 14 } 15 }
继承于人的服装类:
1 class Finery : Person 2 { 3 protected Person someone; 4 5 public void Decorate(Person one) 6 { 7 someone = one; 8 } 9 10 public override void Show() 11 { 12 if (someone != null) 13 { 14 someone.Show(); 15 } 16 } 17 }