python如何在基类中定义非虚函数?

下面的代码为例: class A(object): def __init__(self): pass def func1(self): print('…
关注者
3
被浏览
483
登录后你可以
不限量看优质回答 私信答主深度交流 精彩内容一键收藏

python的逻辑是显示的优于隐式的。并不鼓励C++里面各种隐式的规则。

python不鼓励函数重载。和C的逻辑一样,函数参数可变,可以有默认参数,但是就不鼓励重载。由于是动态执行,后声明的函数允许覆盖先声明的。所以,如果子类函数不打算完全覆盖父类的函数功能,应该另起一个名字。同名的话,就是覆盖了。

但是,子类初始化过程当中,可能有必要先调用父类的初始化函数。python的设计是利用super()类引用父类的函数。

所以,你是要调用父类被覆盖的函数,需要明确地使用super()指明调用。尤其有多个父类的时候,需要指明具体的类是哪个。

发布于 2022-12-21 11:35 ・IP 属地广东