设为首页收藏本站

Crossin的编程教室

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

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

[复制链接]

1

主题

0

好友

49

积分

新手上路

Rank: 1

楼主
发表于 2014-7-3 09:32:53 |显示全部楼层
本帖最后由 萧风 于 2014-7-3 09:34 编辑
  1. class Vehicle:
  2.     def __init__(self,speed):                  #为什么这里有__init__,后面的drive没有?init函数有什么作用?
  3.         self.speed=speed                            #为什么要有self.speed=speed?        
  4.                                                                #请老师讲的直白一些,前面的那些回复我没看懂

  5.     def drive(self,distance):
  6.         print"need %f hours"%(distance/self.speed)
  7. class Bike(Vehicle):
  8.     pass

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

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


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

使用道具 举报

1

主题

0

好友

49

积分

新手上路

Rank: 1

沙发
发表于 2014-7-3 09:45:33 |显示全部楼层
crossin先生 发表于 2013-9-1 00:33
如果不加self,那speed就只是drive函数中的一个局部变量

这个有什么影响?
回复

使用道具 举报

1

主题

0

好友

49

积分

新手上路

Rank: 1

板凳
发表于 2014-7-3 09:45:56 |显示全部楼层
crossin先生 发表于 2013-9-1 00:34
distance只是个变量,不是类。

没懂
回复

使用道具 举报

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

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

GMT+8, 2024-5-4 12:00 , Processed in 0.027471 second(s), 22 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部