设为首页收藏本站

Crossin的编程教室

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

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

[复制链接]

0

主题

0

好友

24

积分

新手上路

Rank: 1

楼主
发表于 2017-11-4 14:55:52 |显示全部楼层
class Car(Vehicle):
    def __init__(self, speed, fuel):
        Vehicle.__init__(self, speed)
        self.fuel = fuel

    def dirve(self, distance):
        Vehicle.driver(self, distance)
        print('need %f fuels' % (distance * self.fuel))

b = Bike(15.0)
c = Car(80.0,0.012)
b.drive(100.0)
c.drive(100.0)

先生 我Car类里面的drive写成了 dirve 然后在下面的c.drive(100.0)还是成功的输出了
need 6.666667 hour(s)
need 1.250000 hour(s)
刚开始我想了半天
怎么下行print没输出来。。   然后又重新写了下代码才发现
现在又想想为什么代码没报错呢   我的Car里没drive方法啊
回复

使用道具 举报

0

主题

0

好友

24

积分

新手上路

Rank: 1

沙发
发表于 2017-11-4 15:00:39 |显示全部楼层
z850672062 发表于 2017-11-4 14:55
class Car(Vehicle):
    def __init__(self, speed, fuel):
        Vehicle.__init__(self, speed)

是不是因为继承了父类

所以c.drive(100.0) 调用的是父类(超类)的 drive方法
回复

使用道具 举报

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

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

GMT+8, 2024-5-3 14:22 , Processed in 0.025018 second(s), 22 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部