手机--装饰者模式
?
/* * 裝飾者* 裝飾者與被裝飾對象有相同的父類* 裝飾者內包含被裝飾者對象的引用* * 組合替代繼承來擴展對象行為,運行時根據需求動態擴展* 擴展開放,修改關閉。* */public class Phone { }public class IPhone : Phone{public IPhone() { Console.WriteLine("IPhone"); }}public class VIVO : Phone{public VIVO() { Console.WriteLine("VIVO"); }}public abstract class Decorator : Phone{public Decorator(Phone phone) { Decorate(); }public abstract void Decorate();}public class Pack : Decorator{public Pack(Phone phone) : base(phone) { }public override void Decorate() { Console.WriteLine("Pack"); }}public class Film : Decorator{public Film(Phone phone) : base(phone) { }public override void Decorate() { Console.WriteLine("Film"); }}static void Main(string[] args){IPhone iphone = new IPhone();Pack packIphone = new Pack(iphone);Film filmIphone = new Film(iphone);Console.WriteLine("========================");Film filmVivo = new Film(new Pack(new VIVO()));Console.ReadLine();}?
轉載于:https://www.cnblogs.com/HelloUnity/p/5741003.html
總結
- 上一篇: 周报、月报有多折磨人?万能报表模板建议收
- 下一篇: C++中public protected