C#中理解接口以及接口的作用
生活随笔
收集整理的這篇文章主要介紹了
C#中理解接口以及接口的作用
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
在C#的開發(fā)中,接口是非常重要也非常好用的。可是很多時候很多人都不是很了解接口的做用,以及該如何使用。下面我們就來理解接口的作用,并看看如何使用吧。
假設(shè)我們公司有兩種程序員:VB程序員,指的是用VB寫程序的程序員,用clsVBProgramer這個類表示;Delphi程序員指的是用?Delphi寫程序的程序員,用clsDelphiProgramer這個類來表示。?每個類都有一個WriteCode()方法。定義如下:class?clsVBProgramer() { ??WriteCode() ??{ ?????//用VB語言寫代碼; ??} } class?clsDelphiProgramer() { ??WriteCode() ??{ ????//用Delphi語言寫代碼; ??} } class?clsProject() { ??WritePrograme(clsVBProgramer?programer)//用VB寫代碼 ??{ ????programer.WriteCode(); ??} ??WritePrograme(clsDelphiProgramer?programer)//重載方法,用Delphi寫代碼 ??{ ????programer.WriteCode(); ??} } //在主程序中我們可以這樣寫: main() { ???clsProject?proj=new??clsProject; ???//如果需要用VB寫代碼 ???clsVBProgramer?programer1=new?clsVBProgramer; ???proj.WritePrograme(programer1); ???//如果需要用Delphi寫代碼 ???clsDelphiProgramer?programer2=new?clsDelphiProgramer; ???proj.WritePrograme(programer2); } interface?IProgramer() { ??WriteCode(); } 然后聲明兩個類,并實現(xiàn)IProgramer接口: class?clsVBProgramer():IProgramer { ??WriteCode() ??{ ?????//用VB語言寫代碼; ??} } class?clsDelphiProgramer():IProgramer { ??WriteCode() ??{ ????//用Delphi語言寫代碼; ??} } //對clsProject這個類進(jìn)行一下修改: class?clsProject() { ??WritePrograme(IProgramer?programer) ??{ ????programer.WriteCode();//寫代碼 ??} } main() { ???clsProject?proj=new??clsProject; ???IProgramer?programer; ???//如果需要用VB寫代碼 ???programer=new?clsVBProgramer; ???proj.WritePrograme(programer); ???//如果需要用Delphi寫代碼 ???programer=new?clsDelphiProgramer; ???proj.WritePrograme(programer);???? } //clsProject類和IProgramer都無須改變,只需要再寫一個CSharp程序員的類就可以了 class?clsCSharpProgramer():IProgramer?//記住,要實現(xiàn)IProgramer接口 { ??WriteCode() ??{ ????//用CSharp語言寫代碼; ??} } //在使用的時候如下: main() { ???clsProject?proj=new??clsProject; ???IProgramer?programer; ???//如果需要用CSharp寫代碼 ???programer=new?clsCSharpProgramer; ???proj.WritePrograme(programer); }
假設(shè)我們公司有兩種程序員:VB程序員,指的是用VB寫程序的程序員,用clsVBProgramer這個類表示;Delphi程序員指的是用?Delphi寫程序的程序員,用clsDelphiProgramer這個類來表示。?每個類都有一個WriteCode()方法。定義如下:
?
現(xiàn)在公司來了一個項目,要求派某個程序員寫一個程序。
但是如果這時公司又來了一個C#程序員,我們怎么改這段程序,使它能夠?qū)崿F(xiàn)用C#寫程序的功能呢?我們需要增加一個新類?clsCSharpProgramer,同時在此clsProject這個類中要再次重載WritePrograme?(clsCSharpProgramer?programer)方法。這下麻煩多了。如果還有C程序員,C++程序員,JAVA程序員呢。麻煩大了!
但是如果改用接口,就完全不一樣了:
首先聲明一個程序員接口:
如果再有C#,C,C++,JAVA這樣的程序員添加進(jìn)來的話,我們只需把它們相關(guān)的類加進(jìn)來,然后在main()中稍做修改就OK了。擴(kuò)充性特別好!像下面這樣添加一個CSharp程序員添加進(jìn)來:
這樣我們?nèi)绻裞lsProject這個類封成一個組件,那么當(dāng)我們的用戶需要要擴(kuò)充功能的時候,我們只需要在外部做很小的修改就能實現(xiàn),可以說根本就用不著改動我們已經(jīng)封好組件!是不是很方便,很強大!
轉(zhuǎn)載于:https://www.cnblogs.com/ttlive/archive/2008/09/17/2191365.html
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的C#中理解接口以及接口的作用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SQL server 系统优化--通过执
- 下一篇: 小浦红贷容易通过吗?小浦红贷好下款吗?