版本:3.4
在python的继承中,基类的私有函数不能被子类重写
例子
下图是私有函数的重写:
下图是公有函数的重写:
例子中,base类有两个函数go,run,其中run里面调用go,而extend类继承base类,并重写go函数;最后创建extend对象调用run函数:
当go函数为公有函数时,extend对象调用的run中调用的go是重写后的go函数,也就是extend类自己的go函数
当go函数为私有函数时,extend对象调用的run中调用的go却依然是基类的go函数
原因:
在官方文档中好像没有提到会出现这个问题,下面是官方文档里面关于类继承的话:
Derived classes may override methods of their base classes. Because methods have no special privileges when calling other methods of