之前在我的文章中有對介面進行過講解,但感覺講的還是不夠清晰,不夠利針見血,這次我把面向介面的程式設計裡,自認為比較核心的兩點說一下:
介面詳細介紹請看我的這篇文章
一切依賴於抽象,而不是實現
多個介面相同的行為,被一個物件實現
#region 多個介面相同的行為,被一個物件實現(一切依賴於抽象,而不是實現) interface IRepository { void Insert(); } interface IRepositoryAsync { void Insert(); } class Repository : IRepository { #region IRepository 成員 public void Insert() { Console.WriteLine("同步新增"); } #endregion } class RepositoryAsync : IRepository, IRepositoryAsync { #region ICowBoy 成員 void IRepository.Insert() { Console.WriteLine("同步新增"); } #endregion #region IRepositoryAsync 成員 void IRepositoryAsync.Insert() { Console.WriteLine("非同步新增"); } #endregion } #endregion
介面實現的多型性
一個介面,多種實現(多型)
#region 一個介面,多種實現(多型) interface IHello { void Morning(); void Noon(); void Night(); } class Chinese : IHello { #region IHello 成員 public void Morning() { Console.WriteLine("早上好"); } public void Noon() { Console.WriteLine("中午好"); } public void Night() { Console.WriteLine("晚上好"); } #endregion } class English : IHello { #region IHello 成員 public void Morning() { Console.WriteLine("Good Morning"); } public void Noon() { Console.WriteLine("Good Noon"); } public void Night() { Console.WriteLine("Good Night"); } #endregion } #endregion
對於我們開發人員來說,有時,對一個知識的真正理解是需要一個過程,一個時間的,所以建議初學者,應屆畢業生同學不用太著急,這個是需要一個過程的,呵呵!