python - 从父类的构造函数继承一些但不是所有参数?Python
问题描述
假设我有父类 P
class P(object):
def __init__(self, a, b, c):
self._a = a
self._b = b
self._c = c
如果创建另一个类 C,它是 P 的子类,是否可以继承 P 的一些参数但不是全部(假设我只想将类 P 中的参数 a、c 传递给 C)。我知道这是一个奇怪的问题,我不知道这是否有应用程序,但我似乎无法找到答案。先感谢您!
解决方案
据我所知,唯一的好方法是执行以下操作:
class P:
def __init__(self, a, b, c):
self._a = a
self._b = b
self._c = c
class C(P):
def __init__(self, a, b, c):
super(C, self).__init__(a, b, c)
self._b = b
本质上,您调用超类构造函数来定义所有值,但随后self._b
在子类构造函数中覆盖该值(在本例中为 for )。
或者,如果您甚至不想self._b
成为班级中的一员C
,您也可以del self._b
在super().__init__()
通话后将其完全删除。
不过,一般来说,让子类没有父类所具有的某些字段似乎是一种不好的做法,因为代码的其他部分可能依赖于该字段的存在。
推荐阅读
- android - 新鲜的Android studio项目很多错误
- python - Python 和正则表达式将 wrtitten 数字转换为数字
- javascript - 组件加载导致“尚未为上下文加载模块名称”
- macos - 如何在 macOS 上拦截 Thunderbolt 数据包?
- c - AVR 中断的变量在 main 中更新
- python - 如何在张量流上减少 Word2Vec 模型中的损失
- java - Intellij IDEA 的自定义插件可以在其代码中使用 DI 吗?
- python - How to insert strings from one column of pandas DataFrame to another column at specific index?
- mysql - Mysql Query Gives Duplicate Rows
- javascript - 从另一个 html 站点更改段落文本