【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
    

相关内容

热门资讯

专家热议:企业如何实现商业价值... 转自:经济日报7月4日,由中国社会保障学会主办的企业社会价值创新与共同富裕座谈会暨《企业可持续社会价...
网络出现假冒人民大会堂门票 暑... 中国互联网联合辟谣平台日前发布消息称,一些网络平台存在违规使用人民大会堂建筑图片标识和名称的现象,不...
7人制橄榄球国家青年队少年队选... 转自:草原云7月3日至5日,2025年7人制橄榄球国家青年队、少年队选拔训练营内蒙古站在呼和浩特市举...
最新或2023(历届)广东珠海... 最新或2023(历届)广东珠海中考报名时间为3月9日-15日,打印、确认时间为3月16日-17日。报...
最新或2023(历届)广东珠海...  录取  最新或2023(历届)中考录取实行计算机远程网上录取,录取工作由市教育局统一组织,录取结果...