假设我有一个结构如下的Python包:
/summary
__init__.py
summary.py
/temperature
__init__.py
temperature.py
其中类TempSummary(在temperature.py中定义)继承自基类Summary(在Summary.py中定义),分别定义为:
class TempSummary(Summary):
def __init__(self, f):
bar(f)
class Summary:
def __init__(self, f):
foo(f)
是将summary.py的内容复制到/temperature并在复制的文件中修改类的方法,还是继承到TempSummary然后开始修改方法的行为更像Pythonic
复制代码违反DRY(不要重复)。并行地维护两组代码会变成一场噩梦
它是一种面向对象的方法,用于子类和重写您选择的方法来创建自定义功能
如果您正在扩展一些
Summary
方法,请记住call the parent method相关问题 更多 >
编程相关推荐