我是 OOP 的新手,我处于以下情况:我有一个类似报告“引擎”的东西,用于多个报告,唯一需要的是配置文件的路径。
我将用 Python 编写代码,但这是一个不可知的问题。所以,我有以下两种方法
A)类 ReportEngine 是一个抽象类,除了配置文件的路径之外,它具有所需的一切。这样你只需要实例化 ReportX 类
class ReportEngine(object):
...
class Report1(ReportEngine):
_config_path = '...'
class Report2(ReportEngine):
_config_path = '...'
report_1 = Report1()
B)类 ReportEngine 可以通过配置文件路径实例化
class ReportEngine(object):
def __init__(self, config_path):
self._config_path = config_path
...
report_1 = ReportEngine(config_path="/files/...")
哪种方法是正确的?万一这很重要,报表对象将被插入到另一个类中,使用组合。