python - 如何定义一个只改变父类的新子类?
问题描述
我有以下简化的类结构
class A():
def foo(self):
self.bar()
def bar(self):
print("A bar")
class B(A):
def bar(self):
print("B bar")
class C(A):
def bar(self):
print("C bar")
现在我也有一个修改版的 A
class ModA():
def foo(self):
print("hi")
self.bar()
我现在还想要一个附加版本的 B 和 CModA
作为父类而不是A
.
class ModB(ModA):
def bar(self):
print("B bar")
class ModC(ModA):
def bar(self):
print("C bar")
除了定义父母的第一行之外,我如何定义ModB
并且不重复他们的整个定义?ModC
解决方案
如果不知道您的“细微变化”可能是什么,就不可能回答,但总的来说,看看多重继承 -class ModB(ModA, B):
可能是您需要的。
class ModB(ModA, B):
pass
>>> b = ModB()
>>> b.foo()
hi
B bar
推荐阅读
- amazon-web-services - Amazon s3 测试套件 REST API 签名计算
- angular - Angular 6 refresh Observable 删除后从后端获取所有条目
- javascript - 执行函数时未创建某些 HTML 节点。无法读取 null 的属性“childNodes”,
- opendaylight - Opendaylight REST API 中的配置、操作和操作有什么区别?
- wordpress - 使用来自一个 wp-contet/uploads 的图像在同一台服务器上安装两个 wordpress
- pylint - 修复 pylint 中的短变量警告
- azure-devops - VSTS:功能和工作项之间的组级别
- javascript - 如何将 HTML 中的 props 传递给根组件
- express - 如何在express中添加要通过sequelize对象传递的其他属性
- google-bigquery - 如何从 Airflow 中的 BigQuery 获取查询结果,并将其附加到自动发送给我的电子邮件中