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

黄舟
發布: 2017-02-11 13:19:52
原創
1313 人瀏覽過

    前面接觸過介面的概念,其實介面就是一組方法、屬性,然後誰繼承了它,誰就要實現這組方法和屬性。也就是說這個類別具備了這個介面定義的一些能力。
    介面的這種特性在平常的程式編寫中是有很大作用的,往往完成一個大專案需要很多人同時完成,這樣難免會有一些類別都需要某些方法,而且執行流程都差不多。這是在專案設計階段就有必要把這種方法抽像出一個接口,然後在專案中,大家只需實現這個接口,從而防止大家由於各自定義各自的,導致了相同的操作比較混亂。
    例如,在做桌面應用程式時,會用到很多窗口,窗口裡會註冊事件(這一般用於不同控件間事件傳遞),還會貼皮膚(即取圖片作為窗體和窗體上的控件的背景圖片)等等,這是每個視窗都需要用的方法。像這樣就可以抽像出一個接口,命個名:
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) 介面的應用 的內容,更多相關內容請關注PHP中文網(www.php.cn)!


來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!