python - 自定义继承类之间的类型转换
问题描述
我在下面的程序中,我希望 B 的实例调用 A 中的方法,但我不知道如何键入强制转换对象以便对象调用 A 中的方法,该方法在 B 中具有相同的名称,因此该方法在 A 中运行,但不在 B 中。
class A:
def doSomething(self):
print("do something in A")
class B(A):
def doSomething(self):
print('do something in B')
def main():
b = B()
b.doSomething()
(A)b.doSomething() # I want b to call the function in A instead of B
main()
解决方案
如果您只想调用超类方法doSomething
on b
,这就足够了:
class A(object):
def doSomething(self):
print('Do something in A')
class B(A):
def doSomething(self):
print('Do something in B')
b = B()
super(B, b).doSomething()
哪个打印:
Do something in A
“类型转换”的想法在 python 中并不真正适用。
推荐阅读
- oracle - oracle pl/sql utl_file ORA-29280: 无效的目录路径和 ORA-29280: 无效的目录对象
- javascript - Html - Javascript:Mysql不会将数据保存在数据库中
- django - Django 创建多对多关系
- jekyll - 如何禁用 github 页面中的排版?
- laravel - 根据 laravel 中的认证用户返回结果
- android - Firestore 查询缓存
- php - yajra 中的 Undefiend 变量
- arrays - 向 numpy 数组添加新列会更改初始数组
- c# - 如何访问对象并调用对象方法?
- javascript - 使用 ajax 和变量 id 提交刷新表单一个输入