![]() |
1
84
您可能认为可以调用由属性调用的基类函数:
尽管这是我认为最明显的尝试- 它不起作用,因为bar是一个属性,而不是可调用的。 但属性只是一个对象,使用getter方法查找相应的属性:
|
![]() |
2
44
|
![]() |
3
17
有另一种用途
基类A:
在B中,访问父类A的属性getter:正如其他人已经回答的,它是:
或者在Python 3中:
这将返回属性的getter返回的值,而不是getter本身,但它足以扩展getter。 在B中,访问父类A的属性设置器:到目前为止,我看到的最佳建议是:
我相信这个更好:
在这个例子中,两个选项都是等价的,但是使用super的优点是独立于
扩展A属性的B的完整代码:
一个警告:
除非属性没有setter,否则必须在
|
![]() |
4
4
尝试
尽管我不确定python是否支持调用基类属性。属性实际上是用指定的函数设置的可调用对象,然后在类中替换该名称。这很容易意味着没有可用的超级功能。 但是,您可以随时切换语法以使用property()函数:
|
![]() |
5
-1
(除非我在你的解释中遗漏了什么) |
![]() |
Fernando Chu · 一个变量有多个可能的类?[关闭] 6 月前 |
![]() |
Amaterastis · 基类接受子类和内部子类的模板参数 7 月前 |
![]() |
Rishab Negi · 这个关键字在抽象类中是如何工作的 8 月前 |
![]() |
dEmigOd · 类层次结构中的运算符重载解析 8 月前 |
![]() |
TableTopRug · 如何从Kotlin中的密封类继承? 8 月前 |
![]() |
hasdrubal · 抽象基类函数指针python 12 月前 |
|
Josh · 通过反思访问孩子的财产 1 年前 |