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