我对 python 2.7 很陌生,并且一直在寻找这个问题的答案几个小时,所以我想我应该在这里问我的第一个问题关于溢出。我希望有一天能为社区添加一些东西,而不是一直潜伏>.<
我正在创建一个项目管理工具,您可以在项目下定义必要的基本任务,并可能定义从该项目继承的其他子任务基础任务。我认为为了获得最大的灵活性,最好在项目类下创建一个通用的任务类。当用户想要创建子任务时,它会继承基本任务。我想为基本任务分配一小时值,如果没有子任务则由用户定义,如果有子任务则由所有子任务定义的小时数之和来定义。
到目前为止,这就是我所拥有的......:
class Task(self, superOBJ):
#Define Tasks That Conform To SOW Here
def __init__(self,cls,title):
self.title=title
self.description=""
self.hours=None
def Hours(self):
if #NO SUBTASKS
return self.hours
else:
return #SUM OF SUBTASKHOURS
def SetHours(self,super,hours):
self.hours=hours
这就是我陷入困境的地方,我有一些想法,但没有足够的深度来理解它们
所以我的问题是处理继承的“好”方法是什么?有什么神奇的方法可以帮上忙吗?
最佳答案
您似乎建议每个子任务应该是从Task
派生的新类的实例。 。如果是这样,我建议避免这种方法。您尝试创建的内容可以轻松地通过 Task
树进行建模。实例,其中每个任务对象保存一个子任务(子任务)列表(可能为空)。然后,您可以通过递归迭代子任务列表来计算任务所需的时间,以累积特定任务下叶节点中的时间(即 else
方法中的 Hours
子句)。
在某些时候,您可能有充分的理由定义源自 Task
的新任务类。但只有当他们有某种与如何计算时间相关的特殊行为时才应该如此。
关于python - 类继承自同一个类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14735636/