C#基礎知識整理:基礎知識(9) 介面的應用

來源:互聯網
上載者:User
前面接觸過介面的概念,其實介面就是一組方法、屬性,然後誰繼承了它,誰就要實現這組方法和屬性。也就是說這個類具備了這個介面定義的一些能力。
介面的這種特性在平常的程式編寫中是有很大作用的,往往完成一個大項目需要很多人同時完成,這樣難免會有一些類都需要某些方法,而且執行流程都差不多。這是在項目設計階段就有必要把這種方法抽象出一個介面,然後在項目中,大家只需實現這個介面,從而防止大家由於各自訂各自的,導致了相同的操作比較混亂。
比如,在做傳統型應用程式時,會用到很多視窗,視窗裡會註冊事件(這一般用於不同控制項間事件傳遞),還會貼皮膚(即取圖片作為表單和表單上的控制項的背景圖片)等等,這是每個視窗都需要用的方法。像這樣就可以抽象出一個介面,命個名:
IWindowAdditionalAble。
比如在寫UseForm視窗時實現該介面:

介面:

    interface IWindowAdditionalAble    {        void PasteSkin();//給表單中的控制項貼皮膚        void RegisterEvent();//註冊要用到的事件    }

實現介面代碼:

 public partial class UseForm : Form, IWindowAdditionalAble//每寫一個表單類都實現該介面    {        public UseForm()        {            InitializeComponent();            PasteSkin();            RegisterEvent();        }        #region IWindowAdditionalAble 成員        /// <summary>        /// 貼皮膚的方法        /// </summary>        public void PasteSkin()        {            this.btnTest.BackColor = Color.Gray;        }        /// <summary>        /// 註冊事件的方法        /// </summary>        public void RegisterEvent()        {            this.btnTest.Click += new EventHandler(btnTest_Click);        }        void btnTest_Click(object sender, EventArgs e)        {            throw new NotImplementedException();        }        #endregion    }

在其他視窗A、B...時都實現這個介面,這樣比較統一,也不會落下某一個方法。當然也可以根據項目的需求不同寫一些其他滿足某些需求的介面來使用。

以上就是C#基礎知識整理:基礎知識(9) 介面的應用 的內容,更多相關內容請關注topic.alibabacloud.com(www.php.cn)!

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.