zoukankan      html  css  js  c++  java
  • 2019年7月28日 在子类中调用父类的方法 happy birthday

    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('%s is running'%self.name)
    
    class Subway(Vehicle):
        def __init__(self,name,speed,load,power,line):
            # self.name=name
            # self.speed=speed
            # self.load=load
            # self.power=power
            Vehicle.__init__(self,name,speed,load,power)#子类中调用父类的方法,就是上面那段代码,这里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)#注意传递self
    
    line13=Subway('bjdt','100km/s',5000,'E','13#')
    
    line13.show_info()
    
    line13.run()

    》》》

    bjdt 100km/s 5000 E 13#
    bjdt is running

    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('%s is running'%self.name)
    
    class Subway(Vehicle):
        def __init__(self,name,speed,load,power,line):
            # self.name=name
            # self.speed=speed
            # self.load=load
            # self.power=power
            # Vehicle.__init__(self,name,speed,load,power)#子类中调用父类的方法,就是上面那段代码,这里self是需要的,因为是在对象在调用类的方法
            super().__init__(name,speed,load,power) #super方法不用传递self,通过super方法可以直接调用父类方法
            self.line=line
    
        def show_info(self):
            print(self.name,self.speed,self.load,self.power,self.line)
    
        def run(self):
            # Vehicle.run(self)#注意传递self
            super().run() #super方法不用传递self,通过super方法可以直接调用父类方法
    line13=Subway('bjdt','100km/s',5000,'E','13#')
    
    line13.show_info()
    
    line13.run()

    >>>

    bjdt 100km/s 5000 E 13#
    bjdt is running

  • 相关阅读:
    洛谷 P1401 城市(二分+网络流)
    洛谷 P2057 善意的投票(网络流最小割)
    洛谷 P1402 酒店之王
    二分图最大匹配的一些证明
    P2764 最小路径覆盖问题(网络流24题之一)
    洛谷 P2055 [ZJOI2009]假期的宿舍
    P2891 [USACO07OPEN]吃饭Dining(最大流+拆点)
    洛谷P1345 [USACO5.4]奶牛的电信(最小割)
    网络流24题之星际转移问题(洛谷P2754)
    LeetCode Unique Binary Search Trees
  • 原文地址:https://www.cnblogs.com/python1988/p/11260979.html
Copyright © 2011-2022 走看看