【1.110】继承中 子类中调用父类方法
class Vehicle: Country='China' def __init__(self,name,speed,load,power): self.name=name self.speed=speed self.load=load self.power=power def run(self): print('开动啦') print('开动啦') class Subway(Vehicle): def __init__(self,name,speed,load,power,line): Vehicle.__init__(self,name,speed,load,power) #注意self self 只有在实例化 或者 对象调用的时 才会自己传值 这里类自己调用 所以必须写self self.line=line def show_info(self): print(self.name,self.speed,self.load,self.power,self.line) def run(self): Vehicle.run(self) print('%s %s 线,开动啦' %(self.name,self.line)) line13=Subway('北京地铁','10km/s',1000000000,'电',13) line13.show_info() line13.run()
用super 调用 你即使改了 基类的名字 也可以用父类的方法 不用到子类再去修改名字
不用写 父类名字
不用传self 自己就给我们传了
class Vehicle: #定义交通工具类 Country='China' def __init__(self,name,speed,load,power): self.name=name self.speed=speed self.load=load self.power=power def run(self): print('开动啦...') class Subway(Vehicle): #地铁 def __init__(self,name,speed,load,power,line):
#super(Subway,self) 就相当于实例本身 在python3中super()等同于super(Subway,self)
#super(__class__,self).__init__(name,speed,load,power)
#super(Subway,self).__init__(name,speed,load,power)
#super().__init__(name,speed,load,power) #三者一样
super().__init__(name,speed,load,power) self.line=line def run(self): print('地铁%s号线欢迎您' %self.line) super(Subway,self).run() class Mobike(Vehicle):#摩拜单车 pass line13=Subway('中国地铁','180m/s','1000人/箱','电',13) line13.run()
print(line13.__class__)
浙公网安备 33010602011771号