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()

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM