是什么C#中的接口

是什么C#中的接口?很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。

創(chuàng)新互聯(lián)從2013年成立,先為大武口等服務(wù)建站,大武口等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢(xún)服務(wù)。為大武口企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。

 對(duì)于很多初學(xué)者來(lái)說(shuō)是個(gè)很容易迷糊的東西,使用起來(lái)很簡(jiǎn)單,無(wú)非就是定義接口,接口里面包含一些屬性、索引器、事件和一些沒(méi)有修飾符的方法,也沒(méi)有方法的具體實(shí)現(xiàn)代碼;然后在類(lèi)中繼承該接口,實(shí)現(xiàn)該接口中的所有屬性、索引器、事件和方法的具體實(shí)現(xiàn)的代碼(其實(shí)接口中只能這幾個(gè),一般我們用到的只有屬性和方法所以在這里我就只跟大家分享其中的一種“方法”)。接口的使用就這么簡(jiǎn)單,只要照著去寫(xiě)代碼就行了;但沒(méi)有真正認(rèn)識(shí)到接口的作用的人,都會(huì)感覺(jué)沒(méi)有用接口的必要;感覺(jué)多此一舉,在沒(méi)真正認(rèn)識(shí)到接口的作用時(shí)我也是這么認(rèn)為的。

微軟不會(huì)把多此一舉的東西推出到市場(chǎng)上,哪么接下來(lái)我們就來(lái)看看接口的妙處在哪里。

我們先定義一個(gè)接口

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

再定義一個(gè)類(lèi)繼承于IBase接口,并且實(shí)現(xiàn)方法

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

最后我們?cè)贛ain里面調(diào)用他

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

輸出結(jié)果

小狗

單從上面的代碼中看起確實(shí)多此一舉,我們只要實(shí)例化DogClass類(lèi)在去調(diào)用ClassPrind方法就行了,沒(méi)必要多定義一個(gè)接口。但是如果我們要再寫(xiě)多一個(gè)CatClass類(lèi),類(lèi)里也同樣要傳入一個(gè)參數(shù)輸出的方法呢?不錯(cuò)我們只要寫(xiě)多一個(gè)類(lèi),類(lèi)里寫(xiě)多一個(gè)方法就行快的很;但我們?cè)谛聦?xiě)的類(lèi)中的方法名可能會(huì)不一樣,也就是說(shuō)我們要多一個(gè)方法;這還不算什么,如果這個(gè)類(lèi)和方法你們項(xiàng)目經(jīng)理是叫別人寫(xiě)的話(huà),你將不知道這個(gè)方法,我們使用起來(lái)就不方便了。但如果我們使用接口就不同了,雖然也還是要寫(xiě)多一個(gè)類(lèi)和一個(gè)方法;但我們只要把這個(gè)類(lèi)繼承于接口,再實(shí)現(xiàn)他。哪么不管是誰(shuí)去新增這個(gè)類(lèi),我們都能準(zhǔn)確的找到他,使用他。

我們來(lái)加上CatClass這個(gè)類(lèi)

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

再看看調(diào)用和輸出

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

輸出結(jié)果

小狗

小貓

從調(diào)用輸出中我們很明顯的看出我們只要改個(gè)類(lèi)名、改個(gè)參數(shù)調(diào)用的結(jié)果就是別一個(gè)類(lèi)中的方法,我們根本就不用去記別人寫(xiě)的方法名是什么,也不用寫(xiě)這個(gè)類(lèi)的人告訴我們這個(gè)類(lèi)是寫(xiě)來(lái)干嘛的。這樣我們不管是在團(tuán)隊(duì)項(xiàng)目中,還是在個(gè)人項(xiàng)目里都很容易的擴(kuò)展、大大提高了工作效率,我們也不用記住哪么多的東西,何樂(lè)而不為呢。

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)的支持。

當(dāng)前文章:是什么C#中的接口
分享網(wǎng)址:http://bm7419.com/article34/gijise.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT、云服務(wù)器、網(wǎng)站導(dǎo)航、外貿(mào)建站微信小程序企業(yè)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)