老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業提供網站建設、域名注冊、服務器等服務

如何用C#代碼實現裝飾器模式

這篇“如何用C#代碼實現裝飾器模式”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“如何用C#代碼實現裝飾器模式”文章吧。

創新互聯專注于撫順網站建設服務及定制,我們擁有豐富的企業做網站經驗。 熱誠為您提供撫順營銷型網站建設,撫順網站制作、撫順網頁設計、撫順網站官網定制、小程序開發服務,打造撫順網絡公司原創品牌,更為您提供撫順網站排名全網營銷落地服務。

首先肯定是抽象基類。

    public abstract class OurStrategy
    {
        public abstract void Play(string msg);
    }

通常,在上半場,我們一般都使用防守陣型。

    public class OurDefaultStategy : OurStrategy
    {
        public override void Play(string msg)
        {
            Console.WriteLine("上半場4-1-2-1防守陣型");
        }
    }

下半場,會根據上半場的態勢而調整陣型。也就是需要實現OurStrategy這個抽象類。不過,先不急,我們還得先抽象出一個實現OurStrategy這個抽象類、充當裝飾器的一個抽象類。

    public abstract class OurDecorator : OurStrategy
    {
        private OurStrategy _ourStrategy;
        public OurDecorator(OurStrategy ourStrategy)
        {
            this._ourStrategy = ourStrategy;
        }
        public override void Play(string msg)
        {
            if (_ourStrategy != null)
            {
                _ourStrategy.Play(msg);
            }
        }
    }

以上,這個充當裝飾器的抽象類,接收某個實現OurStrategy抽象基類的子類實例,并執行OurStrategy抽象基類的方法Play。

接下來,實現OurDecorator這個充當裝飾器的類。

    public class AttackStategy : OurDecorator
    {
        public AttackStategy(OurStrategy ourStrategy) : base(ourStrategy)
        {
            
        }
        public override void Play(string msg)
        {
            base.Play(msg);
            Console.WriteLine("下半場3-1-3-1進攻陣型");
        }
    }

以上,當然還可以寫出很多OurDecorator的派生類。

客戶端這樣調用:

    class Program
    {
        static void Main(string[] args)
        {
            OurDecorator ourDecorator = new AttackStategy(new OurDefaultStategy());
            ourDecorator.Play("haha");
            Console.ReadKey();
        }
    }

如何用C#代碼實現裝飾器模式

以上,通過new AttackStategy(new OurDefaultStategy())把new OurDefaultStategy()實例賦值給類充當裝飾墻的抽象基類OurDecorator的_ourStrategy字段。

當執行ourDecorator.Play("haha")方法,首先來到AttackStategy的Play方法,執行base.Play(msg),這里的base就是AttackStategy的抽象父類OurDecorator,再執行OurDecorator的Play方法,由于已經給OurDecorator的_ourStrategy字段賦值,_ourStrategy字段存儲的是OurDefaultStategy實例,所以,base.Play(msg)最終執行的是OurDefaultStategy的Play方法,即把"上半場4-1-2-1防守陣型"顯示出來。

最后執行AttackStategy的Play方法中的Console.WriteLine("下半場3-1-3-1進攻陣型")部分,把"下半場3-1-3-1進攻陣型"顯示出來。

以上就是關于“如何用C#代碼實現裝飾器模式”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注創新互聯行業資訊頻道。


文章題目:如何用C#代碼實現裝飾器模式
文章路徑:http://www.xueling.net.cn/article/geesog.html

其他資訊

在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 成视频年人黄网站免费视频 | 亚洲最大色大成人av | 精品国产肉丝袜久久 | 大地资源网在线观看免费高清观看 | 美女视频一级片 | 亚洲最大黄色片 | 午夜国产精品影院在线观看 | www.色悠悠.com | 免费国产a国产片高清不卡 欧美激欧美啪啪片 | 男女男精品视频网站 | 91高清免费观看 | 无码人妻一区二区三区免费视频 | 永久免费黄色大片 | 欧美性另类69xxxx最新章节 | 午夜毛片免费看20次 | 成人在线观看日韩 | 九九热视频免费 | 麻豆一级片 | 乱人伦中文字幕无码 | 538国产精品一区二区免费视频 | 女性自慰网站免费看WW | 热99热| 色一情一区二区三区四区 | 亚洲中文无码卡通动漫3D | 超碰个人在线观看 | 欧产日产国产精品视频 | 亚洲卡一卡二卡三乱草莓 | 欧美在线一二三区 | 羞羞影院午夜男女爽爽影院网站 | 999亚洲精品无码久久久久 | 亚洲精品国产精品乱码不卞 | 国产一级做a爰片在线看免费 | 国产成人A人亚洲精品无码 97人人爽人人爽人人一区二区 | 国产精品刮毛 | 少妇伦子伦精品无码 | 国产A级毛片久久影院 | 美女视频黄a视频全免费 | 2018av天堂在线视频精品观看 | 国产手机在线精品 | 成人免费网站视频 | 无码H肉3D动漫在线观看 |