版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、會計(jì)學(xué)1 類的繼承與多態(tài)類的繼承與多態(tài) 2 n通過一個(gè)案例,演示繼承機(jī)制 第1頁/共46頁 3 父類父類 子類子類 動物動物 大象大象貓貓 和調(diào)試的高質(zhì)量 軟件,使系統(tǒng)能 高效地實(shí)現(xiàn)。 第2頁/共46頁 4 第3頁/共46頁 5 第4頁/共46頁 6 Point CircleRectangle Cylinder 第5頁/共46頁 7 點(diǎn)點(diǎn)(Point)類具有以下屬性:類具有以下屬性: 坐標(biāo)坐標(biāo)X 坐標(biāo)坐標(biāo)Y 且具有以下方法:且具有以下方法: ToString( ):點(diǎn)的字符串表示形點(diǎn)的字符串表示形 式式 示例代碼位于示例代碼位于“CSharp示例示例第第6課課 PointCirlceCylin
2、der” 第6頁/共46頁 8 示例代碼位于示例代碼位于“CSharp示例示例第第6課課 PointCirlceCylinder” 第7頁/共46頁 9 圓圓(Ciecle)類具有以下屬性:類具有以下屬性: 坐標(biāo)坐標(biāo)X 坐標(biāo)坐標(biāo)Y 半徑半徑Radius 且具有以下方法:且具有以下方法: Diameter():求直徑求直徑 CircumFerence():求周長求周長 Area():求圓的面積求圓的面積 ToString():圓的字符串表示形式圓的字符串表示形式 第8頁/共46頁 10 第9頁/共46頁 11 第10頁/共46頁 12 示例代碼位于示例代碼位于“CSharp示例示例第第6課課 P
3、ointCirlceCylinder” 第11頁/共46頁 13 第12頁/共46頁 14 public class Circle : Point private double radius; public Circle() public Circle() public double Radius public double Diameter() public double CircumFerence() public double Area() public override string ToString() 第13頁/共46頁 15 為了讓為了讓Circle類能直接訪問類能直接訪問Poi
4、nt類的成員變量類的成員變量x和和y,我們可以在,我們可以在Point類中將這些變量聲明為類中將這些變量聲明為protected。 基類的保護(hù)成員可以從基類或其派生類中訪問?;惖谋Wo(hù)成員可以從基類或其派生類中訪問。 下述示例的下述示例的Point類就是這樣改造的類,除了類就是這樣改造的類,除了x和和y的訪問屬性說明為的訪問屬性說明為protected以外,其它與以外,其它與Point類相同。類相同。 第14頁/共46頁 16 public class Point protected int x; protected int y; public Point() public Point(int
5、 x, int y) / 屬性:坐標(biāo)屬性:坐標(biāo)X public int X / 屬性:坐標(biāo)屬性:坐標(biāo)Y public int Y / 返回點(diǎn)類的字符表示形式返回點(diǎn)類的字符表示形式 public override string ToString() 第15頁/共46頁 17 示例代碼位于示例代碼位于“CSharp示例示例第第6課課 PointCirlceCylinder” 使用單步調(diào)試跟蹤程序的運(yùn)行過程,使用單步調(diào)試跟蹤程序的運(yùn)行過程, 看一看,實(shí)例化看一看,實(shí)例化Circle類的對象時(shí),類的對象時(shí), 給給Circle類的類的X和和Y屬性賦值時(shí),會執(zhí)屬性賦值時(shí),會執(zhí) 行哪些代碼?行哪些代碼? 第
6、16頁/共46頁 18 第17頁/共46頁 19 第18頁/共46頁 20 public class Circle : Point private double radius; public double Radius public Circle() this.radius=0; public Circle(int x, int y, double r) : base(x, y) this.radius = r; public double Radius public double Diameter() public double CircumFerence() public double A
7、rea() public override string ToString() return 圓心坐標(biāo)圓心坐標(biāo)+base.ToString() +; 半徑半徑+radius; 第19頁/共46頁 21 示例代碼位于示例代碼位于“CSharp示例示例第第6課課 PointCirlceCylinder” 使用單步調(diào)試跟蹤程序的運(yùn)行過程,使用單步調(diào)試跟蹤程序的運(yùn)行過程, 看一看,實(shí)例化看一看,實(shí)例化Circle類的對象時(shí),類的對象時(shí), 給給Circle類的類的X和和Y屬性賦值時(shí),會執(zhí)屬性賦值時(shí),會執(zhí) 行哪些代碼?行哪些代碼? 第20頁/共46頁 22 Point Circle Cylinder 除繼
8、承了除繼承了Circle類的屬性和類的屬性和 方法外,還應(yīng)具有:方法外,還應(yīng)具有: Height:圓柱體高度圓柱體高度 Volumn(): 求體積方法求體積方法 并重載:并重載: Area():求圓柱體表面積:求圓柱體表面積 第21頁/共46頁 23 示例代碼位于示例代碼位于“CSharp示例示例第第6課課 PointCirlceCylinder” 第22頁/共46頁 24 示例代碼位于示例代碼位于“CSharp示例示例第第6課課 PointCirlceCylinder” 第23頁/共46頁 25 示例代碼位于示例代碼位于“CSharp示例示例第第6課課 PointCirlceCylinder
9、” 第24頁/共46頁 26 第25頁/共46頁 27 示例代碼位于示例代碼位于“CSharp示例示例第第6課課 PointCirlceCylinder” 為什么為什么ToString方法能正常顯示,而方法能正常顯示,而 Area方法不能正確計(jì)算?方法不能正確計(jì)算? 第26頁/共46頁 28 public class Circle : Point public virtual double Area() return Math.PI * Math.Pow(this.radius,2); public class Cylinder : Circle public override double
10、Area() return 2*base.Area()+base.CircumFerence()*Height; 第27頁/共46頁 29 第28頁/共46頁 30 第29頁/共46頁 31 第30頁/共46頁 32 示例代碼位于示例代碼位于“CSharp示例示例第第6課課VirtualMethod” 第31頁/共46頁 33 public class Circle : Point public override double Area() return Math.PI * Math.Pow(this.radius,2); public class Cylinder : Circle publ
11、ic override double Area() return 2*base.Area()+base.CircumFerence()*Height; public override double Volume() return base.Area() * this.Height; 第32頁/共46頁 34 public class Point public virtual string Name get return 點(diǎn)點(diǎn); public class Circle : Point public override string Name get return 圓圓; public class
12、Cylinder : Circle public override string Name get return 圓柱體圓柱體; 示例代碼位于示例代碼位于“CSharp示例示例第第6課課VirtualMethod” 第33頁/共46頁 35 示例代碼位于示例代碼位于“CSharp示例示例第第6課課VirtualMethod” 第34頁/共46頁 36 第35頁/共46頁 37 public abstract class Shape public virtual double Area() return 0.0; public virtual double Volume() return 0.0
13、; public abstract string Name get; 示例代碼位于示例代碼位于“CSharp示例示例第第6課課Abstract” 第36頁/共46頁 38 第37頁/共46頁 39 +Area() : double +Volume() : double +Name() : string S Sh ha ap pe e +Area() : double +Volume() : double +Name() : string +ToString() : string -x : int -y : int P Po oi in nt t +Area() : double +Name()
14、 : string +Radius() : double +ToString() : string -radius : double C Ci ir rc cl le e +Area() : double +Volume() : double +Name() : string +Height() : double +ToString() : string -height : double C Cy yl li in nd de er r +Area() : double +Name() : string +Length() : double +Width() : double +ToStrin
15、g() : string -length : double -width : double R Re ec ct ta an ng gl le e +Area() : double +Volume() : double +Name() : string +Height() : double +ToString() : string -height : double C Cu ub be e 第38頁/共46頁 40 示例代碼位于示例代碼位于“CSharp示例示例第第6課課AbstractSample” 第39頁/共46頁 41 第40頁/共46頁 42 public interface IShape double Area(); double Volume(); string Name get; 第41頁/共46頁 43 public class Point
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 寫給軟件開發(fā)團(tuán)隊(duì)感謝信
- 學(xué)會感恩為演講稿七篇
- 大一專業(yè)期末總結(jié)(5篇)
- 學(xué)生公寓(框架)技術(shù)標(biāo)
- 人教版四年級數(shù)學(xué)下冊導(dǎo)學(xué)案-【第2課時(shí) 平均數(shù)(2)】
- 學(xué)校 社團(tuán)課 合同
- 醫(yī)院病媒生物合同
- 英國合同法的提出offer
- 道法走近老師 課件-2024-2025學(xué)年統(tǒng)編版道德與法治七年級上冊
- 熱熔膠產(chǎn)品相關(guān)行業(yè)投資規(guī)劃報(bào)告
- 《5G時(shí)代萬物互聯(lián)》演講課件
- 24年注安-其他安全-必背考點(diǎn)-王培山
- 園林工程技術(shù)專業(yè)建設(shè)規(guī)劃
- 2024至2030年中國磷礦石行業(yè)需求領(lǐng)域及發(fā)展現(xiàn)狀調(diào)研報(bào)告
- 6個(gè)關(guān)鍵點(diǎn)!二十屆三中全會解讀課件
- 《ISO∕IEC 42001-2023信息技術(shù)-人工智能-管理體系》解讀和應(yīng)用指導(dǎo)材料(雷澤佳2024A0)
- 病案首頁填寫培訓(xùn)課件
- 淺談農(nóng)村初中學(xué)生學(xué)習(xí)數(shù)學(xué)的困境與對策
- 支付結(jié)算業(yè)務(wù)最新課件
- 孕產(chǎn)婦配偶艾滋病、梅毒檢測服務(wù)流程
- 遼沈戰(zhàn)役PPT課件
評論
0/150
提交評論