关于python的继承的一个疑问
本文介绍了关于python的继承的一个疑问的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
如图所示,B
类继承了 A
类;
当实例化对象时,B
类中没有构造函数, 应该调用父类的构造函数 __init__
但是里边的 self.__pirv()
为啥调用到父类 A
的 __priv
, 而 self.pub()
又调到 B
中的 pub
求解?
解决方案
在Python从__开始的方法名称不是private,__的意思就让Python做name mangling,name mangling的结果就是_A__priv。这样的方法你应该不要overwrite。如果你想让子类overwrite一个方法你只用_,不用__
这篇关于关于python的继承的一个疑问的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文