C#面向对象程序设计 教学课件 郑宇军 CSCH5.ppt

C#面向对象程序设计 教学课件 郑宇军 CSCH5.ppt

ID:50041033

大小:2.20 MB

页数:16页

时间:2020-03-08

C#面向对象程序设计 教学课件 郑宇军 CSCH5.ppt_第1页
C#面向对象程序设计 教学课件 郑宇军 CSCH5.ppt_第2页
C#面向对象程序设计 教学课件 郑宇军 CSCH5.ppt_第3页
C#面向对象程序设计 教学课件 郑宇军 CSCH5.ppt_第4页
C#面向对象程序设计 教学课件 郑宇军 CSCH5.ppt_第5页
资源描述:

《C#面向对象程序设计 教学课件 郑宇军 CSCH5.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、1第5章继承和多态继承基类和派生类自顶向下的分解自底向上的抽象2图形飞机汽车轮船交通工具继承基类和派生类.NET类库3继承基类和派生类4publicclassAutomobile{privatefloatspeed=100;publicfloatRun(floatdistance){returndistance/speed;}}publicclassBus:Automobile{}Automobilea1=newAutomobile();a1.Run(1000);Busb1=newBus();b1.Run(1000);继承对

2、象的生命周期构造析构5publicclassVehicle{}publicclassAutomobile:Vehicle{}publicclassCar:Automobile{}publicclassLimousine:Car{}newVehicle()newAutomobile()newCar()newLimousine()~Vehicle()~Automobile()~Car()~Limousine()多态性基类:普通成员派生类:覆盖成员6publicclassAutomobile{protectedfloatspeed

3、;protectedfloatweight;publicfloatRun(floatdistance){returndistance/speed;}}publicclassCar:Automobile{publicnewfloatRun(floatdistance){return(1+weight/100)*distance/speed;}}多态性覆盖:根据声明类型决定成员调用7Automobilea1=newTruck();a1.Run(1000);Cara2=newCar();a2.Run(1000);Automobil

4、e.RunCar.Run多态性基类:虚拟成员8publicclassAutomobile{protectedfloatspeed;protectedfloatweight;publicvirtualfloatRun(floatdistance){returndistance/speed;}}多态性基类:虚拟成员派生类:重载成员9publicclassTruck:Automobile{privatefloatload;publicoverridefloatRun(floatdistance){returnbase.Run(1+

5、(load+weight)/100);}}publicclassCar:Automobile{publicoverridefloatRun(floatdistance){return(1+weight/100)*distance/speed;}}多态性重载:根据实际类型决定成员调用10Automobilea1=newCar();a1.Run(1000);Automobilea2=newTruck();a2.Run(1000);Car.RunTruck.Run多态性抽象类和抽象方法11publicabstractclassAu

6、tomobile{protectedfloatspeed;protectedfloatweight;publicabstractfloatRun(floatdistance);}Automobilea1=newAutomobile();多态性抽象类和抽象方法12publicclassTruck:Automobile{privatefloatload;}多态性抽象类和抽象方法13publicclassTruck:Automobile{privatefloatload;publicoverridefloatRun(floatdi

7、stance){returnbase.Run(1+(load+weight)/100);}}多态性密封类和密封方法14publicclassBigTruck:Truck{}publicsealedclassTruck:Automobile{privatefloatload;publicoverridefloatRun(floatdistance){returnbase.Run(1+(load+weight)/100);}}多态性密封类和密封方法15publicclassBigTruck:Truck{publicoverrid

8、efloatRun(floatdistance){returnbase.Run(1+2*(load+weight)/100);}}publicclassTruck:Automobile{privatefloatload;publicsealedfloatRun(floatdistance)

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。