欢迎来到天天文库
浏览记录
ID:50041033
大小:2.20 MB
页数:16页
时间:2020-03-08
《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)
此文档下载收益归作者所有