设为首页 加入收藏

TOP

Python类继承时构造函数的执行问题
2014-11-23 23:41:50 来源: 作者: 【 】 浏览:4
Tags:Python 继承 构造 函数 执行 问题

如果子类定义了自己的__init__构造方法函数,当子类的实例对象被创建时,子类只会执行自己的__init__方法函数,如果子类未定义自己的构造方法函数,会沿着搜索树找到父类的构造方法函数去执行父类里的构造方法函数。 如子类定义了自己的构造方法函数,如果子类的构造方法函数内没有主动调用父类的构造方法函数,那父类的实例变量在子类不会在刚刚创建子类实例对象时出现了。


class aa:
def __init__(self):
self.x = 10
self.y = 12
def hello(self, x):
return x + 1
class bb(aa):
def __init__(self):
aa.__init__(self) #如果注销此行,下边打印b.x和b.y将报错,未定义
#通过类名字调用父类的构造方法函数
self.z = 14


a = aa()
print a.x, a.y
b = bb()
print b.x, b.y


推荐阅读:


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Python的私有变量解析 下一篇Android之Audio常用属性变量

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: