【Python】Python 子类继承父类构造函数说明
admin
2024-02-03 17:13:45
0

Python中子类继承父类的构造方法,有以下三种情况

  1. 子类需要自动调用父类的方法,这种情况下,子类不重写__init__()方法,实例化子类后,会自动调用父类的__init__()的方法。
    class Father(object):def __init__(self, name):self.name=nameprint ( "name: %s" %( self.name) )def getName(self):return 'Father ' + self.nameclass Son(Father):def getName(self):return 'Son '+self.nameif __name__=='__main__':son=Son('runoob')print ( son.getName() )
    
     输出结果
    
    name: runoob
    Son runoob
    
  2. 子类不需要自动调用父类的方法子类重写__init__()方法,实例化子类后,将不会自动调用父类的__init__()的方法。
    class Father(object):def __init__(self, name):self.name=nameprint ( "name: %s" %( self.name) )def getName(self):return 'Father ' + self.nameclass Son(Father):def __init__(self, name):print ( "hi" )self.name =  namedef getName(self):return 'Son '+self.nameif __name__=='__main__':son=Son('runoob')print ( son.getName() )
    
    输出结果
    hi
    Son runoob
    
  3. 子类重写__init__()方法又需要调用父类的方法使用super关键词
    super(子类,self).__init__(参数1,参数2,....) 
    super().__init__(参数1, 参数2, ...) # python3新版本写法
    
    class Father(object):def __init__(self, name):self.name=nameprint ( "name: %s" %( self.name))def getName(self):return 'Father ' + self.nameclass Son(Father):def __init__(self, name):super(Son, self).__init__(name)print ("hi")self.name =  namedef getName(self):return 'Son '+self.nameif __name__=='__main__':son=Son('runoob')print ( son.getName() )
    
    输出结果
    name: runoob
    hi
    Son runoob
    

相关内容

热门资讯

桥下空间焕新颜 转自:劳动午报 近日,丰台区榴乡桥桥下空间改造工程完工。这片曾经闲置杂乱的城市角落,如今蝶变为集休闲...
“小书虫”   海口滨海第九小学西海岸校区  三年级(15)班 林子歆  我有一位同学是名副其实的“小书虫”,她...
执笔畅想自贸港 有机会获演艺门...   亲爱的同学们,海南自贸港封关在即,一个充满无限可能的未来正在向我们招手。想象一下,10年后的20...
生的闷气都会留在甲状腺 转自:劳动午报 每一次怒火,都会在甲状腺中刻下看不见的伤痕。中医认为,长期郁怒忧思首先伤肝,多条经络...
最新通知!你的工资或将多一笔钱... 近日,安徽省人社厅发布《关于加强高温天气劳动保护工作的通知》。提到,安排劳动者在35℃以上高温天气从...