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)
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值