Python进阶-----在子类中调用父类方法

方法一:指名道姓,即父类名.父类方法()coding

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):
        Vehicle.__init__(self,name,speed,load,power)    #调用父类的构造函数(初始化)
        self.line=line

    def run(self):
        print('地铁%s号线欢迎您' %self.line)
        Vehicle.run(self)                               #调用父类的方法run()

line13=Subway('中国地铁','180m/s','1000人/箱','',13)
line13.run()


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('开动啦...')

方法二:super()方法

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().__init__(name, speed, load, power)     #可以不用写父类名,且省去self参数,默认会传入
        self.line = line

    def run(self):
        print('地铁%s号线欢迎您' % self.line)
        super(Subway, self).run()   #=== super().run()

class Mobike(Subway):  # 摩拜单车
    def a(self):
        super(Mobike, self).run()    #调用地铁类的run方法

line13 = Subway('中国地铁', '180m/s', '1000人/箱', '', 13)
line13.run()
mb = Mobike('摩拜单车','10m/s','1人/车','人工动力',1)
mb.a()

 

转载于:https://www.cnblogs.com/Meanwey/p/9788747.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值