栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python类的练习,继承类

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python类的练习,继承类

1.假如有一辆汽车,速度是60km/h,从A行驶到B地(距离100km),计算耗费的时间,分别以面向过程、面向对象两种不同的编程思想设计程序
(1)面向过程:以事件为中心的编程思想,分析和解决问题的步骤,然后使用函数或者语句块把这些一步一步实现,使用的时候一个一个依次调用,使用面向过程思想编写的代码,相对条理更清晰,更易读。

#面向过程
speed=60
distance=100
time=distance/speed
print(time)

(2)面向对象:强调的是将问题对象化,因为问题的解决都是由对象参与,而且这种编程思想更贴近现实,使用面向对象思想编写的代码,将数据和功能都封装在对象中。

#面向对象
class Car:
    speed=0
    def driver(self,distance):
        time=distance/self.speed
        print(time)
car=Car()
car.speed=60
car.driver(100)

2.再假设换一辆汽车,速度是100km/h,从A行驶到C地(距离350km),计算耗费的时间,考虑在原有的代码基础上应该如何调整
用到继承

#改进:
class Driver:
    def kaiche(self,speed,distance):
        self.time=distance/speed#行驶时间=路程/速度
        print('从A到B行驶的时间为:%.f'%self.time)
class Car(Driver):#继承Driver
    def oilsum(self,oil,distance):
        self.oiltotal=distance*oil#耗油量=路程*平均油量
        print('从A到B行驶过程中的耗油量为:%.f'%self.oiltotal)

a=Car()
a.kaiche(60,100)
a.oilsum(0.1,100)

3.从A地出发去B地(距离100km/h),使用汽车、自行车、电车行驶过去。
汽车的速度60km/h,自行车的速度20km/h,电车速度65km/h,分别计算耗时。
(1)针对汽车,这次再增加一个属性-耗油,每公里0.1升的耗油量,输出到达目的地时汽车总耗油量。
(2)自行车消耗人的能量,每公里消耗0.01J人的能量,输出总共消耗的人的能量。
(3)电车消耗电量,每公里消耗0.5度电,输出消耗的电量。

class Driver:
    def driver(self,speed,distance):
        self.time=distance/speed
        print('从A到B行驶的时间为:%.f'%self.time)
class Car(Driver):#汽车
    def oilnum1(self,oil,distance):
        self.oiltotal=distance*oil#耗油量=路程*平均油量
        print('从A到B行驶过程中汽车的耗油量为:%.f'%self.oiltotal)
class Bicycle(Driver):#自行车
    def oilnum2(self,oil,distance):
        self.oiltotal=distance*oil#耗油量=路程*平均油量
        print('从A到B行驶过程中自行车的耗油量为:%.f'%self.oiltotal)
class Tram(Driver):#电车
    def oilnum3(self,oil,distance):
        self.oiltotal=distance*oil#耗油量=路程*平均电量
        print('从A到B行驶过程电车中的耗电量为:%.f'%self.oiltotal)

a=Car()
a.driver(60,100)
a.oilnum1(0.1,100)

b=Bicycle()
b.driver(20,100)
b.oilnum2(0.01,100)

c=Tram()
c.driver(65,100)
c.oilnum3(0.5,100)
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/977648.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号