[转载] C#面向对象设计模式纵横谈——10. Decorator装饰模式
生活随笔
收集整理的這篇文章主要介紹了
[转载] C#面向对象设计模式纵横谈——10. Decorator装饰模式
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
主講:李建忠
來源:http://www.microsoft.com/china/msdn/events/webcasts/shared/webcast/consyscourse/CsharpOOD.aspx
?
?
Decoratorpublic class Tank {abstract void Shot();abstract void Run(); }public abstract class Decorator:Tank //Do as 接口繼承 {private Tank _tank; //Has-A 對象組合public Decorator(Tank tank){this._tank=tank;}public override void Shot(){_tank.Shot();}public override void Run(){_tank.Run();} }public abstract class DecoratorA:Decorator {public DecoratorA(Tank tank):base(tank){}public override void Shot(){//Do some extension 功能擴展base.Shot();}public override void Run(){//Do some extension 功能擴展base.Run();} }public abstract class DecoratorB:Decorator {public DecoratorA(Tank tank):base(tank){}public override void Shot(){//Do some extension 功能擴展base.Shot();}public override void Run(){//Do some extension 功能擴展base.Run();} }public class T50:Tank {public override void Shot(){}public override void Run(){} }public class T75:Tank {public override void Shot(){}public override void Run(){} }class App {public static void Main(){Tank tank=new T50();DecoratorA da=new DecoratorA(tank);//紅外DecoratorB db=new DecoratorB(da);//紅外,兩棲} }
轉載于:https://www.cnblogs.com/6DAN_HUST/archive/2011/07/20/2111897.html
總結
以上是生活随笔為你收集整理的[转载] C#面向对象设计模式纵横谈——10. Decorator装饰模式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C# ---扩展方法
- 下一篇: 主数据管理(MDM)的七个最佳实践