码迷,mamicode.com
首页 > 编程语言 > 详细

python 类 四 : 类的继承与覆盖父类方法

时间:2016-10-04 07:39:09      阅读:208      评论:0      收藏:0      [点我收藏+]

标签:python 继承 子类 父类 覆盖 override __init__



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


运行结果是:


[root@puppet-master-231-test eg_4]# python2.7  class_inherit_demo_4.py
<__main__.c object at 0x7efdf2ff6a90>
john 11









python 类 四 : 类的继承与覆盖父类方法

标签:python 继承 子类 父类 覆盖 override __init__

原文地址:http://khaozi.blog.51cto.com/952782/1858660

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!