设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
楼主: crossin先生
打印 上一主题 下一主题

【Python 第50课】 面向对象(4)

[复制链接]

0

主题

0

好友

96

积分

注册会员

Rank: 2

楼主
发表于 2017-1-12 16:14:14 |显示全部楼层
class Car(Vehicle):
    def __init__(self, speed, fuel):
        Vehicle.__init__(self, speed)
        self.fuel = fuel
老师,这段里Vehicle.__init__(self, speed) 改成self.speed = speed
好像更好理解
  1. class Vehicle:
  2.     def __init__(self, speed):
  3.         self.speed = speed

  4.     def drive(self, distance):
  5.         print 'need %f hour(s)' % (distance / self.speed)

  6. class Bike(Vehicle):
  7.     pass

  8. class Car(Vehicle):
  9.     def __init__(self, speed, fuel):
  10.         self.speed = speed
  11.         self.fuel = fuel

  12.     def drive(self, distance):
  13.         Vehicle.drive(self, distance)
  14.         print 'need %f fuels' % (distance * self.fuel)

  15. b = Bike(15.0)
  16. c = Car(80.0, 0.012)
  17. b.drive(100.0)
  18. c.drive(100.0)
复制代码
回复

使用道具 举报

0

主题

0

好友

96

积分

注册会员

Rank: 2

沙发
发表于 2017-1-13 12:36:47 |显示全部楼层
crossin先生 发表于 2017-1-12 17:45
效果一样,但你这个就没有调用父类方法了。等于完全抛弃了原有的代码

恩,谢谢老师
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-5-3 12:24 , Processed in 0.027183 second(s), 22 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部