C 項(xiàng)目導(dǎo)向與實(shí)訓(xùn)程序設(shè)計(jì)教程實(shí)現(xiàn)抽象圖形-抽象類與接口_第1頁(yè)
C 項(xiàng)目導(dǎo)向與實(shí)訓(xùn)程序設(shè)計(jì)教程實(shí)現(xiàn)抽象圖形-抽象類與接口_第2頁(yè)
C 項(xiàng)目導(dǎo)向與實(shí)訓(xùn)程序設(shè)計(jì)教程實(shí)現(xiàn)抽象圖形-抽象類與接口_第3頁(yè)
C 項(xiàng)目導(dǎo)向與實(shí)訓(xùn)程序設(shè)計(jì)教程實(shí)現(xiàn)抽象圖形-抽象類與接口_第4頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第9章實(shí)現(xiàn)抽象圖形——抽象類與接口能力目標(biāo):1.理解關(guān)鍵字abstract、sealed、virtual、override,能編寫抽象類和密封類。2.理解接口類型,能定義接口、實(shí)現(xiàn)接口。3.能編寫含面積和周長(zhǎng)抽象方法的圖形抽象類及其派生的圓和矩形密封類。4.能編寫含面積和周長(zhǎng)方法的圖形接口、以及實(shí)現(xiàn)接口的圓和矩形密封類。9.1項(xiàng)目預(yù)覽本章要完成的實(shí)現(xiàn)圖形抽象類與接口的WPF應(yīng)用程序項(xiàng)目,運(yùn)行界面如圖9-1所示。(a)(b)圖9-1實(shí)現(xiàn)圖形抽象類與接口的WPF項(xiàng)目運(yùn)行界面9.7本章小結(jié)本章中,我們學(xué)習(xí)了使用關(guān)鍵字abstract聲明的抽象方法和抽象類。抽象方法是沒有方法體、不能執(zhí)行的方法,除了抽象方法,還有抽象屬性等成員。抽象類是不能實(shí)例化的類,抽象類通常有抽象成員,但極端情況也可沒有。不過,具有抽象成員的類一定是抽象類。密封類是使用關(guān)鍵字sealed聲明的。密封類與抽象類是類類型的兩個(gè)極端,相互不兼容。定義抽象類是為了派生,由派生的子類實(shí)現(xiàn)其抽象成員。而密封類則不允許派生,類的繼承鏈條到密封類就終結(jié)了。類可聲明為密封的,類內(nèi)部的成員也可聲明為密封的,如密封方法和密封屬性等。密封成員不能被派生類重寫。密封成員不一定在密封類中。密封類可以有密封成員,非密封類也可包含密封成員。還有,密封成員一定是繼承基類的重寫成員,是成員的最后一次實(shí)現(xiàn)。就是說,對(duì)于類成員,sealed總是和override一起使用的。除了抽象類,我們還學(xué)習(xí)了功能與之相似的接口類型。它們均是抽象編程的機(jī)制,都支持協(xié)定與實(shí)現(xiàn)相分離,區(qū)分開做什么(what)和怎么做(how)。但接口是另外一種類型,不屬于類類型。接口的成員都是默認(rèn)抽象和公共的。接口在繼承方面也比類復(fù)雜,接口支持多重繼承,類則是單一繼承。接口與類的關(guān)聯(lián)是:由類實(shí)現(xiàn)接口。類似于類之間的繼承,實(shí)現(xiàn)接口的類,要把承接過來的所有抽象接口成員都代碼化、都能執(zhí)行、即都實(shí)現(xiàn)了才行。與接口之間的多重繼承類似,實(shí)現(xiàn)接口的類也可同時(shí)實(shí)現(xiàn)多個(gè)接口?,F(xiàn)把本章的知識(shí)點(diǎn)歸納為表9-1。表9-1本章知識(shí)點(diǎn)歸納知識(shí)點(diǎn)操作示例抽象方法與抽象類abstractclassShape//抽象圖形類{publicabstractdoubleCalcArea();//抽象的計(jì)算面積方法publicabstractdoubleCalcGirth();//抽象的計(jì)算周長(zhǎng)方法}密封類sealedclassCircle:Shape{...}//繼承抽象圖形類的密封圓類密封方法publicsealedoverridedoubleCalcArea(){...}publicsealedoverridedoubleCalcGirth(){...}密封屬性publicsealedoverridedoubleWidth{get{...}set{...}}接口類型interfaceIShape//圖形接口{doubleCalcArea();//計(jì)算面積方法(默認(rèn)公共抽象的)doubleGirth{get;}//只讀周長(zhǎng)屬性(默認(rèn)公共抽象的)}接口多重繼承interfaceIA{...}interfaceIB{...}interfaceIC:IA,IB{...}實(shí)現(xiàn)多個(gè)接口classE{...}classF:E,IA,IB{...}有了這些知識(shí),就可以建立本章開頭的項(xiàng)目了。9.8項(xiàng)目實(shí)訓(xùn)9:實(shí)現(xiàn)圖形抽象類與接口能力目標(biāo):(見本章開頭)實(shí)訓(xùn)內(nèi)容及步驟:1.創(chuàng)建一個(gè)WPF應(yīng)用程序項(xiàng)目,編寫圖形抽象類,內(nèi)含計(jì)算周長(zhǎng)和面積的抽象方法。再編寫繼承圖形抽象類的密封圓類和矩形類。最后設(shè)計(jì)一個(gè)界面,用于計(jì)算圓、矩形的周長(zhǎng)和面積。設(shè)計(jì)界面如圖9-9(a)所示,運(yùn)行界面如圖9-1(a)所示。(a)(b)圖9-9實(shí)現(xiàn)圖形抽象類與接口的WPF項(xiàng)目設(shè)計(jì)界面提示:部分代碼參考如下。abstractclassShape//抽象的圖形類{abstractpublicdoubleCalcArea();//抽象的計(jì)算面積方法...}classRectangle:Shape//繼承抽象圖形類的矩形類{publicdoubleLength//長(zhǎng)度屬性{get{return_length;}set{if(value<0){throw...}else{...}}}publicoverridedoubleCalcArea(){...}//重寫繼承基類的抽象方法...}sealedclassCircle:Shape//繼承抽象圖形類的密封圓類{...}...privatevoidbuttonCircle_Click(objectsender,RoutedEventArgse){try{doubleradius=double.Parse(textBoxRadius.Text);CircleaCircle=newCircle(radius);textBoxCircleInfo.Text="成功構(gòu)造了半徑為"+aCircle.Radius+"的圓。";textBoxCircleInfo.Text+="\n"+"圓面積:"+......}catch(Exceptionex){textBoxCircleInfo.Text="異常:"+ex.Message;}}2.在上題項(xiàng)目中,添加一個(gè)WPF窗口,編寫圖形接口,內(nèi)含計(jì)算周長(zhǎng)和面積方法。再編寫實(shí)現(xiàn)該接口的密封圓類和矩形類。最后設(shè)計(jì)一個(gè)界面,用于計(jì)算圓、矩形的周長(zhǎng)和面積。設(shè)計(jì)界面如圖9-9(b)所示,運(yùn)行界面如圖9-1(b)所示。提示:本題界面大部分與第1題相同,可直接復(fù)制、粘貼過來。部分代碼參考如下。interfaceIShape//圖形接口{doubleCalcArea();//接口成員方法(默認(rèn)抽象公共的)...}classRectangle2:IShape//實(shí)現(xiàn)圖形接口的矩形類{...}...3.(選做)創(chuàng)建一個(gè)Windows應(yīng)用程序項(xiàng)目,實(shí)現(xiàn)第1、第2題的功能。

第9章實(shí)現(xiàn)抽象圖形——抽象類與接口 19.1項(xiàng)目預(yù)覽 19.2抽象方法與抽象類 19.3密封類 39.4密封方法與密封屬性 49.5接口類型 79.6接口多重繼承與

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論