《編程教育》-項(xiàng)目二 計(jì)算圖形面積_第1頁(yè)
《編程教育》-項(xiàng)目二 計(jì)算圖形面積_第2頁(yè)
《編程教育》-項(xiàng)目二 計(jì)算圖形面積_第3頁(yè)
《編程教育》-項(xiàng)目二 計(jì)算圖形面積_第4頁(yè)
《編程教育》-項(xiàng)目二 計(jì)算圖形面積_第5頁(yè)
已閱讀5頁(yè),還剩1頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

教案教師班級(jí)科目C#程序設(shè)計(jì)開課時(shí)間地點(diǎn)機(jī)房課題名稱項(xiàng)目二:計(jì)算圖形面積課時(shí)數(shù)6背景分析本課程是為軟件技術(shù)專業(yè)的學(xué)生開設(shè)的一門很重要的程序設(shè)計(jì)類課程。學(xué)習(xí)者從設(shè)計(jì)基類Shape類,到派生類的功能擴(kuò)展。通過本項(xiàng)目,學(xué)生體會(huì)了類的繼承和多態(tài)性的不同,掌握了隱藏基類方法,在派生類中重寫方法等的使用,為后續(xù)更好的理解類和對(duì)象打下基礎(chǔ)。學(xué)生已經(jīng)具備一定的應(yīng)用軟件能力。根據(jù)課程教學(xué)目標(biāo)和學(xué)生的專業(yè)特點(diǎn),教學(xué)中應(yīng)當(dāng)注重培養(yǎng)學(xué)生的操作能力、思維能力和學(xué)習(xí)能力。本課采用以項(xiàng)目教學(xué)為主,邊講邊做,讓學(xué)生在做的過程中學(xué)會(huì)探索、學(xué)會(huì)合作。學(xué)習(xí)目標(biāo)設(shè)定1.理解繼承的概念。2.掌握如何隱藏基類的方法。3.理解多態(tài)的概念培養(yǎng)學(xué)生積極思考、敢于嘗試,讓學(xué)生體驗(yàn)學(xué)習(xí)的樂趣,激發(fā)學(xué)生對(duì)本課程的學(xué)習(xí)興趣。學(xué)習(xí)任務(wù)描述學(xué)習(xí)任務(wù)圍繞學(xué)生成績(jī)統(tǒng)計(jì)的綜合運(yùn)用而展開,根據(jù)教師設(shè)計(jì)的項(xiàng)目,并將其分解為任務(wù)完成。通過任務(wù)的設(shè)定,在對(duì)比中,引導(dǎo)學(xué)生自主學(xué)習(xí)、合作學(xué)習(xí)、競(jìng)爭(zhēng)學(xué)習(xí)。教學(xué)情境創(chuàng)設(shè)本節(jié)課通過對(duì)一個(gè)貼近學(xué)生生活的項(xiàng)目學(xué)習(xí),引導(dǎo)學(xué)生做中學(xué)習(xí)、合作學(xué)習(xí)。圍繞課堂總目標(biāo),讓學(xué)生在不斷的成功體驗(yàn)中進(jìn)行快樂學(xué)習(xí)。教學(xué)資源準(zhǔn)備時(shí)間資源:課前資料收集、課堂教學(xué)、課后資料整理、完成作業(yè)信息資源:教案、教學(xué)素材人員資源:1位專業(yè)教師,1位專業(yè)指導(dǎo)教師,學(xué)生小組設(shè)備資源:2.2GHz或速度更快的CPU、1GB或更大容量的RAM、1280x1024顯示器、7200RPM或更高轉(zhuǎn)速的硬盤;操作系統(tǒng):WindowsXP、Vista或2000以上;開發(fā)軟件:VisualStudio2005/2008中文版(含MSDN);教學(xué)過程實(shí)施內(nèi)容方法【導(dǎo)入】小張需要來(lái)計(jì)算各類圖形的面積,他用C#代碼在控制臺(tái)下設(shè)計(jì)一個(gè)Shape類,并衍生出其他圖形面積的計(jì)算。【新課】項(xiàng)目二:計(jì)算圖形面積【項(xiàng)目描述】面積計(jì)算主要有三個(gè)任務(wù):1.理解繼承的概念。2.掌握如何隱藏基類的方法。3.理解多態(tài)的概念任務(wù)一類的繼承【任務(wù)描述】(該任務(wù)的內(nèi)容和目的)新建項(xiàng)目,并創(chuàng)建Shape類,指定數(shù)據(jù)成員,以及構(gòu)造函數(shù)和方法。【任務(wù)實(shí)施】1.確定Shape類的數(shù)據(jù)成員,如表所示。數(shù)據(jù)成員數(shù)據(jù)類型數(shù)據(jù)說明WidthDouble寬HeightDouble長(zhǎng)2.確定Shape類的構(gòu)造方法和面積方法,如表所示。構(gòu)造方法參數(shù)列表方法說明Shape()無(wú)參數(shù)初始化數(shù)據(jù)成員為0Shape(doublex)一個(gè)參數(shù)設(shè)置長(zhǎng)寬值與參數(shù)相同Shape(doublew,doubleh)二個(gè)參數(shù)設(shè)置長(zhǎng)寬值分別與二個(gè)參數(shù)相同3.輸入Shape類的數(shù)據(jù)成員,相關(guān)代碼如下:classShape{protecteddoublewidth;protecteddoubleheight;publicShape(){width=height=0;}publicShape(doublex){width=height=x;}publicShape(doublew,doubleh){width=w;height=h;}publicdoublearea(){returnwidth*height;}}4.Triangle類繼承Shape類數(shù)據(jù)成員以及area()方法,并改寫方法內(nèi)容。classTriangle:Shape//三角形{publicTriangle(doublex,doubley){width=x;height=y;}publicdoublearea(){returnwidth*height/2;}}注:派生類方法與基類方法同名,編譯時(shí)會(huì)有警告信息改進(jìn)代碼如下:classTriangle:Shape//三角形{publicTriangle(doublex,doubley):base(x,y){}newpublicdoublearea(){returnwidth*height/2;}}5.Trapezia類的內(nèi)容與Triangle類相似,但計(jì)算面積的area()方法公式不同,相關(guān)代碼如下:classTrapezia:Shape//梯形{doublewidth2;publicTrapezia(doublew1,doublew2,doubleh):base(w1,h){width2=w2;}newpublicdoublearea()//加new隱藏基類的area方法{return(width+width2)*height/2;}}6.在Main()方法中賦值,相關(guān)代碼如下:staticvoidMain(string[]args){ShapeA=newShape(2,4);//長(zhǎng)方形Console.WriteLine("A.area={0}",A.area());TriangleB=newTriangle(3,4);//三角形Console.WriteLine("B.area={0}",B.area());TrapeziaC=newTrapezia(3,4,5);//梯形Console.WriteLine("C.area={0}",C.area());A=B;//A指向了B的引用Console.WriteLine("A.area={0}",A.area());A=C;//A指向了C的引用Console.WriteLine("A.area={0}",A.area());}運(yùn)行結(jié)果。任務(wù)二類的多態(tài)【任務(wù)描述】采用另一種更為靈活和有效的手段,理解類的多態(tài)性,靈活運(yùn)用virtual和override關(guān)鍵字。【任務(wù)實(shí)施】1.Shape類成員同任務(wù)一,將area()方法用virtual關(guān)鍵字聲明為虛方法,相關(guān)代碼如下:classShape{protecteddoublewidth;protecteddoubleheight;publicShape(){width=height=0;}publicShape(doublex){width=height=x;}publicShape(doublew,doubleh){width=w;height=h;}publicvirtualdoublearea()//基類中用virtual修飾符聲明一個(gè)虛方法{returnwidth*height;}}2.Triangle類的area()方法用override關(guān)鍵字重寫基類虛方法,相關(guān)代碼如下:classTriangle:Shape//三角形{publicTriangle(doublex,doubley):base(x,y){}publicoverridedoublearea()//派生類中用override修飾符重寫基類虛方法{returnwidth*height/2;}}3.Trapezia類的area()方法同上處理,相關(guān)代碼如下:classTrapezia:Shape//梯形{doublewidth2;publicTrapezia(doublew1,doublew2,doubleh):base(w1,h){width2=w2;}publicoverridedoublearea()//派生類中用override修飾符重寫基類虛方法{return(width+width2)*height/2;}}4.在Main()方法中賦值,相關(guān)代碼如下:staticvoidMain(string[]args){ShapeA=newShape(2,4);//長(zhǎng)方形Console.WriteLine("A.area={0}",A.area());TriangleB=newTriangle(3,4);//三角形Console.WriteLine("B.area={0}",B.area());TrapeziaC=newTrapezia(3,4,5);//梯形Console.WriteLine("C.area={0}",C.area());A=B;//A指向了B的引用Console.WriteLine("A.area={0}",A.area());A=C;//A指向了C的引用Console.WriteLine("A.area={0}",A.area());}運(yùn)行結(jié)果【項(xiàng)目小結(jié)】 學(xué)習(xí)者從設(shè)計(jì)基類Shape類,到派生類的功能擴(kuò)展。通過本項(xiàng)目,學(xué)生體會(huì)了類的繼承和多態(tài)性的不同,掌握了隱藏基類方法,在派生類中重寫方法等的使用,為后續(xù)章節(jié)更好的學(xué)習(xí)打下基礎(chǔ)。【思考與練習(xí)】請(qǐng)學(xué)生參照上例,定義基類Shape類,以及衍生功能的派生類矩形、正方形、三

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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)論