介紹C#中的介面

來源:互聯網
上載者:User
對於很多初學者來說是個很容易迷糊的東西,使用起來很簡單,無非就是定義介面,介面裡麵包含一些屬性、索引器、事件和一些沒有修飾符的方法,也沒有方法的具體實現代碼;然後在類中繼承該介面,實現該介面中的所有屬性、索引器、事件和方法的具體實現的代碼(其實介面中只能這幾個,一般我們用到的只有屬性和方法所以在這裡我就只跟大家分享其中的一種“方法”)。介面的使用就這麼簡單,只要照著去寫代碼就行了;但沒有真正認識到介面的作用的人,都會感覺沒有用介面的必要;感覺多此一舉,在沒真正認識到介面的作用時我也是這麼認為的。

微軟不會把多此一舉的東西推出到市場上,哪麼接下來我們就來看看介面的妙處在哪裡。

我們先定義一個介面

public Interface IBase      {            void ClassPrind(string s);      }

再定義一個類繼承於IBase介面,並且實現方法

 public class DogClass :IBase      {             public void ClassPrind(string s)             {                   Console.WriteLine(s);             }      }

最後我們在Main裡面調用他

 class ClassMain     {          statric void Main(string []args)         {                IBase base=new DogClass();                base.ClassPrind("小狗");         }     }

輸出結果

小狗

單從上面的代碼中看起確實多此一舉,我們只要執行個體化DogClass類在去調用ClassPrind方法就行了,沒必要多定義一個介面。但是如果我們要再寫多一個CatClass類,類裡也同樣要傳入一個參數輸出的方法呢?不錯我們只要寫多一個類,類裡寫多一個方法就行快的很;但我們在新寫的類中的方法名可能會不一樣,也就是說我們要多一個方法;這還不算什麼,如果這個類和方法你們專案經理是叫別人寫的話,你將不知道這個方法,我們使用起來就不方便了。但如果我們使用介面就不同了,雖然也還是要寫多一個類和一個方法;但我們只要把這個類繼承於介面,再實現他。哪麼不管是誰去新增這個類,我們都能準確的找到他,使用他。

我們來加上CatClass這個類

public class CatClass :IBase      {             public void ClassPrind(string s)             {                   Console.WriteLine(s);             }      }

再看看調用和輸出

class ClassMain     {          statric void Main(string []args)         {                IBase base=new DogClass();                base.ClassPrind("小狗");                IBase base=new CatClass();                base.ClassPrind("小貓");         }     }

輸出結果

小狗

小貓

從調用輸出中我們很明顯的看出我們只要改個類名、改個參數調用的結果就是別一個類中的方法,我們根本就不用去記別人寫的方法名是什麼,也不用寫這個類的人告訴我們這個類是寫來幹嘛的。這樣我們不管是在Team 專案中,還是在個人項目裡都很容易的擴充、大大提高了工作效率,我們也不用記住哪麼多的東西,何樂而不為呢。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.