Python—两个子类如何相互更新而不影响第三个子类
我有一个基类过程,以及从过程继承的三个子类subpca、subpcb和subpcc。对于每个过程,它都有开始/结束触发器。如果一个过程启动,我将首先使用self.name检查前一个过程是否正常结束。正如我将重置过程名称(self.procedure=None)以指示此过程的结束 另外,我创建了三个实例来跟踪当前的currProcA、currProcB、currProcC 我的问题是SUBROCA和SUBROCB应该一起跟踪(它们不能合并到同一个子类,因为SUBROCB的属性比SUBROCA多),而SUBROCC是单独跟踪的。例如,我首先收到SubPCA start触发器,然后是SubPCB start触发器,我应该将其标记为错误,因为SubPCA尚未结束。但我当前的实现使subpca/B/C都可以独立跟踪-接收“subpca start”+“subpcb start”时没有错误 那我该怎么修呢?根据我目前的设计,实现这个逻辑是否有任何微小的变化?非常感谢你的帮助Python—两个子类如何相互更新而不影响第三个子类,python,python-2.7,Python,Python 2.7,我有一个基类过程,以及从过程继承的三个子类subpca、subpcb和subpcc。对于每个过程,它都有开始/结束触发器。如果一个过程启动,我将首先使用self.name检查前一个过程是否正常结束。正如我将重置过程名称(self.procedure=None)以指示此过程的结束 另外,我创建了三个实例来跟踪当前的currProcA、currProcB、currProcC 我的问题是SUBROCA和SUBROCB应该一起跟踪(它们不能合并到同一个子类,因为SUBROCB的属性比SUBROCA多),
class Procedure(object):
def __init__(self, name=None):
self.name = name
def TriggerCheck(self, keyword=None):
if keyword:
thisProc, trigger = self.ProcedureName(keyword)
# To check if the previous procedure ends
if trigger == 'start' and self.name:
if thisProc != self.name:
# flag error - new procedure started but previous one did not end.
self.reset()
self.name = thisProc
class subProcA(Procedure):
....
class subProcB(Procedure):
....
class subProcC(Procedure):
....
currProcA = subProcA()
currProcB = subProcB()
currProcC = subProcC()
这不是上课的目的。这就是队列的作用。您对实现有什么建议吗?这是一个单独的问题,取决于您到底要做什么,以及您的约束条件是什么。你可以试试看,因为这是一个非常受欢迎的图书馆。谢谢拉诺的建议。但我想我会使用一个名为procedureManager的新类来实现我的目标。