python 类 四 : 类的继承与覆盖父类方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 类 四 : 类的继承与覆盖父类方法相关的知识,希望对你有一定的参考价值。
python 继承,子类可以覆盖父类的各种方法,包括__init__方法。
如果要覆盖父类的__init__方法,且希望在覆盖的方法中引用父类的__init__方法,比如在父类的__init__方法的基础上增加一些属性的设置或者其他。
则需要显示的引用父类的方法,否则,父类的方法不会被直接调用到的。
比如:
#coding:utf-8 # c继承了p,并实现了自己的__init__方法,也就是重新实现了__init__方法,但为了减少代码冗余 # c在自己的__init__方法里面引用了p的__init__方法,这种方法需要显示的调用p,并且要向p的 # __init__方法传递self变量 class p(object): def __init__(self,nm): self.name = nm class c(p): def __init__(self,nm,idnum): p.__init__(self,nm) self.id = idnum c1 = c(‘john‘,11) print c1 print c1.name,c1.id
运行结果是:
[[email protected] eg_4]# python2.7 class_inherit_demo_4.py <__main__.c object at 0x7efdf2ff6a90> john 11
以上是关于python 类 四 : 类的继承与覆盖父类方法的主要内容,如果未能解决你的问题,请参考以下文章