您好,登錄后才能下訂單哦!
是什么C#中的接口?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
對于很多初學者來說是個很容易迷糊的東西,使用起來很簡單,無非就是定義接口,接口里面包含一些屬性、索引器、事件和一些沒有修飾符的方法,也沒有方法的具體實現代碼;然后在類中繼承該接口,實現該接口中的所有屬性、索引器、事件和方法的具體實現的代碼(其實接口中只能這幾個,一般我們用到的只有屬性和方法所以在這里我就只跟大家分享其中的一種“方法”)。接口的使用就這么簡單,只要照著去寫代碼就行了;但沒有真正認識到接口的作用的人,都會感覺沒有用接口的必要;感覺多此一舉,在沒真正認識到接口的作用時我也是這么認為的。
微軟不會把多此一舉的東西推出到市場上,哪么接下來我們就來看看接口的妙處在哪里。
我們先定義一個接口
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("小貓"); } }
輸出結果
小狗
小貓
從調用輸出中我們很明顯的看出我們只要改個類名、改個參數調用的結果就是別一個類中的方法,我們根本就不用去記別人寫的方法名是什么,也不用寫這個類的人告訴我們這個類是寫來干嘛的。這樣我們不管是在團隊項目中,還是在個人項目里都很容易的擴展、大大提高了工作效率,我們也不用記住哪么多的東西,何樂而不為呢。
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。