新聞中心
C#接口實(shí)例應(yīng)用問(wèn)題的提出,假設(shè)我們公司有兩種程序員:VB程序員,指的是用VB寫(xiě)程序的程序員,用clsVBProgramer這個(gè)類(lèi)表示;Delphi程序員指的是用Delphi寫(xiě)程序的程序員,用clsDelphiProgramer這個(gè)類(lèi)來(lái)表示。每個(gè)類(lèi)都有一個(gè)WriteCode()方法。

創(chuàng)新互聯(lián)一直秉承“誠(chéng)信做人,踏實(shí)做事”的原則,不欺瞞客戶,是我們最起碼的底線! 以服務(wù)為基礎(chǔ),以質(zhì)量求生存,以技術(shù)求發(fā)展,成交一個(gè)客戶多一個(gè)朋友!為您提供成都網(wǎng)站建設(shè)、網(wǎng)站制作、成都網(wǎng)頁(yè)設(shè)計(jì)、微信小程序開(kāi)發(fā)、成都網(wǎng)站開(kāi)發(fā)、成都網(wǎng)站制作、成都軟件開(kāi)發(fā)、重慶APP軟件開(kāi)發(fā)是成都本地專業(yè)的網(wǎng)站建設(shè)和網(wǎng)站設(shè)計(jì)公司,等你一起來(lái)見(jiàn)證!
C#接口實(shí)例定義如下:
- class clsVBProgramer()
- {
- ....
- WriteCode()
- {
- //用VB語(yǔ)言寫(xiě)代碼;
- }
- ....
- }
- class clsDelphiProgramer()
- {
- ....
- WriteCode()
- {
- //用Delphi語(yǔ)言寫(xiě)代碼;
- }
- ....
- }
現(xiàn)在公司來(lái)了一個(gè)項(xiàng)目,要求派某個(gè)程序員寫(xiě)一個(gè)程序。
C#接口實(shí)例
- class clsProject()
- {
- ....
- WritePrograme(clsVBProgramer programer)//用VB寫(xiě)代碼
- {
- programer.WriteCode();
- }
- WritePrograme(clsDelphiProgramer programer)
- //重載方法,用Delphi寫(xiě)代碼
- {
- programer.WriteCode();
- }
- ......
- }
在主程序中我們可以這樣寫(xiě):
C#接口實(shí)例:
- main()
- {
- clsProject proj=new clsProject;
- //如果需要用VB寫(xiě)代碼
- clsVBProgramer programer1=new clsVBProgramer;
- proj.WritePrograme(programer1);
- //如果需要用Delphi寫(xiě)代碼
- clsDelphiProgramer programer2=new clsDelphiProgramer;
- proj.WritePrograme(programer2);
- }
但是如果這時(shí)公司又來(lái)了一個(gè)C#程序員,我們?cè)趺锤倪@段程序,使它能夠?qū)崿F(xiàn)用C#寫(xiě)程序的功能呢?我們需要增加一個(gè)新類(lèi)clsCSharpProgramer,同時(shí)在此clsProject這個(gè)類(lèi)中要再次重載WritePrograme(clsCSharpProgramer programer)方法。這下麻煩多了。如果還有C程序員,C++程序員,JAVA程序員呢。麻煩大了!
但是如果改用接口,就完全不一樣了,首先聲明一個(gè)程序員接口:
C#接口實(shí)例:
- interface IProgramer()
- {
- WriteCode();
- }
然后聲明兩個(gè)類(lèi),并實(shí)現(xiàn)IProgramer接口:
- class clsVBProgramer():IProgramer
- {
- ....
- WriteCode()
- {
- //用VB語(yǔ)言寫(xiě)代碼;
- }
- ....
- }
- class clsDelphiProgramer():IProgramer
- {
- ....
- WriteCode()
- {
- //用Delphi語(yǔ)言寫(xiě)代碼;
- }
- ....
- }
- 對(duì)clsProject這個(gè)類(lèi)進(jìn)行一下修改:
- class clsProject()
- {
- ....
- WritePrograme(IProgramer programer)
- {
- programer.WriteCode();//寫(xiě)代碼
- }
- ......
- }
- main()
- {
- clsProject proj=new clsProject;
- IProgramer programer;
- //如果需要用VB寫(xiě)代碼
- programer=new clsVBProgramer;
- proj.WritePrograme(programer);
- //如果需要用Delphi寫(xiě)代碼
- programer=new clsDelphiProgramer;
- proj.WritePrograme(programer);
- }
如果再有C#,C,C++,JAVA這樣的程序員添加進(jìn)來(lái)的話,我們只需把它們相關(guān)的類(lèi)加進(jìn)來(lái),然后在main()中稍做修改就OK了。擴(kuò)充性特別好!
另外我們?nèi)绻裞lsProject這個(gè)類(lèi)封成一個(gè)組件,那么當(dāng)我們的用戶需要要擴(kuò)充功能的時(shí)候,我們只需要在外部做很小的修改就能實(shí)現(xiàn),可以說(shuō)根本就用不著改動(dòng)我們已經(jīng)封好組件!是不是很方便,很強(qiáng)大!
C#接口實(shí)例的應(yīng)用問(wèn)題深入探討就向你介紹到這里,希望對(duì)你了解和學(xué)習(xí)C#接口實(shí)例有所幫助。
分享標(biāo)題:C#接口實(shí)例應(yīng)用的的深入探討
文章URL:http://m.fisionsoft.com.cn/article/dpeieed.html


咨詢
建站咨詢
