基礎才是重中之重~再說面向介面的程式設計

張佔嶺發表於2015-09-07

回到目錄

之前在我的文章中有對介面進行過講解,但感覺講的還是不夠清晰,不夠利針見血,這次我把面向介面的程式設計裡,自認為比較核心的兩點說一下:

介面詳細介紹請看我的這篇文章

基礎才是重中之重~為什麼C#有顯示實現介面

一切依賴於抽象,而不是實現

多個介面相同的行為,被一個物件實現

#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

對於我們開發人員來說,有時,對一個知識的真正理解是需要一個過程,一個時間的,所以建議初學者,應屆畢業生同學不用太著急,這個是需要一個過程的,呵呵!

回到目錄

相關文章