資源描述:
《12.接口與泛型》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、第12章接口與泛型信息管理與信息系統(tǒng)班12.1接口在軟件開發(fā)過程中,有時(shí)我們編寫的程序需要提供給外部商家進(jìn)行二次開發(fā)或者其它的服務(wù),但我們又不希望他們看見我們程序的內(nèi)部細(xì)節(jié),在此情況下,我們可以把我們的產(chǎn)品做成組件,用接口描述組件對外提供的服務(wù)。組件和組件之間、組件和客戶之間都通過接口進(jìn)行交互,所以接口在軟件設(shè)計(jì)過程中還是一個很重要的知識。12.1.1接口的含義接口(interface)用來定義一種程序的協(xié)定。實(shí)現(xiàn)接口的類與接口的定義嚴(yán)格一致。接口可以包含方法、屬性、事件和索引器。接口本身不提供它所定義的成員的實(shí)現(xiàn)。接
2、口只指定實(shí)現(xiàn)該接口的類或接口必須提供的成員。所以接口不能被實(shí)例。12.1.2定義接口定義接口使用的關(guān)鍵字為interface,其一般形式為:[修飾符]interface接口名稱[:基接口列表]{接口體成員列表}其中,允許使用的修飾符有:public、protected、internal、private。12.1.2定義接口【實(shí)作任務(wù)】例12.1定義一個客車類的接口,該接口向外提供一個此車重量、車牌號的接口和一個輸出車相關(guān)信息方法的接口interfaceIPasstrain{intWeight{get;set;}stri
3、ngPlate{get;set;}voidShowinfo();}12.1.3實(shí)現(xiàn)接口定義類,實(shí)現(xiàn)接口IPasstrainclassPasstrain:IPasstrain//類名為Passtrain(客車){privateintweight;privatestringplate;//以下實(shí)現(xiàn)接口中的Weight屬性publicintWeight{get{returnweight;}//提供對weight的讀權(quán)限set{weight=value;}//提供對weight的寫權(quán)限}//以下實(shí)現(xiàn)接口中的Plate屬性pub
4、licstringPlate{get{returnplate;}//提供對plate的讀權(quán)限set{plate=value;}//提供對plate的寫權(quán)限}//以下實(shí)現(xiàn)接口中的Showinfo方法publicvoidShowinfo(){System.Console.WriteLine("我是客車");System.Console.WriteLine("我的重量是:"+Weight);}}12.1.3實(shí)現(xiàn)接口測試代碼classTest{staticvoidMain(){IPasstrainp=newPasstrain(
5、);p.Weight=1000;p.Showinfo();}}運(yùn)行結(jié)果12.2泛型12.2.1泛型概述泛型是一種類型占位符,或稱之為類型參數(shù)。我們在定義一個方法時(shí),變量的值可以作為參數(shù),但其實(shí)這個變量的類型本身也可以作為參數(shù)。泛型允許我們在調(diào)用的時(shí)候再指定這個類型參數(shù)是什么。12.2.2泛型的使用使用泛型可以定義泛型類、泛型接口、泛型方法等。publicclassstudent{voidcompare(Tnum1,Tnum2){Tnum3=num1;num1=num2;num2=num3;}}聲明類的對象:stu
6、dentstu=newstudent();inta=3,b=5;stu.compare(a,b);本章小結(jié)本章通過一些小實(shí)例的分析和實(shí)現(xiàn),講解了C#中接口和泛型的使用方法。