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 类 四 : 类的继承与覆盖父类方法的主要内容,如果未能解决你的问题,请参考以下文章

java eclipse 作业代写代做eclipse实验

子类将继承父类所有的方法和属性吗?为啥?

四. Java继承和多态3. 继承中的方法的覆盖和重载

绑定与非绑定方法 继承 继承与抽象 查找属性关系 派生与覆盖 访问父类的内容

python--继承关系

01月11日 四周四次Python基础进阶