首页 > 编程语言 > 详细

python 类 六:继承自动寻找父类

时间:2016-10-05 01:11:50      阅读:189      评论:0      收藏:0      [点我收藏+]


本系列博客(python 类) 的部分例子来自于 <<python 核心编程 第二版>>


前面我们谈到 python 继承,是可以引用父类的__init__方法的 ,并在此基础上添加子类自己的特殊的属性的设定,形成子类自己的__init__  构造函数。


在这种方法中,必须显示的指出父类的名字。

#coding:utf-8

class p(object):
    def __init__(self,nm):
        self.name  = nm

class c(p):
    def __init__(self,nm,idnum):
        p.__init__(self,nm)   #引用父类的__init__方法,必须显示的指出父类的名字  
        self.id  = idnum

c1 = c(‘john‘,11)
print c1.name,c1.id


运行结果是:








如果父类修改了名字,那么子类的代码也要修改这个名字。就是耦合度就高了。


python提供了一种方法,可以自动的找到父类的名字


super()方法,只要传递子类的名字和self作为参数,就可以自动的找到父类的名字。

这样,不论父类的名字怎么修改,都不会影响子类的调用了。


#coding:utf-8

class p(object):
    def __init__(self,nm):
        self.name  = nm

class c(p):
    def __init__(self,nm,idnum):
        super(c,self).__init__(nm)
        self.id  = idnum

c1 = c(‘john‘,11)
print c1.name,c1.id



运行结果是:


[root@puppet-master-231-test eg_4]# python2.7 class_inherit_demo_5.py
john 11


本文出自 “linux与网络那些事” 博客,请务必保留此出处http://khaozi.blog.51cto.com/952782/1858707

python 类 六:继承自动寻找父类

原文:http://khaozi.blog.51cto.com/952782/1858707

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!