Python—两个子类如何相互更新而不影响第三个子类

Python—两个子类如何相互更新而不影响第三个子类,python,python-2.7,Python,Python 2.7,我有一个基类过程,以及从过程继承的三个子类subpca、subpcb和subpcc。对于每个过程,它都有开始/结束触发器。如果一个过程启动,我将首先使用self.name检查前一个过程是否正常结束。正如我将重置过程名称(self.procedure=None)以指示此过程的结束 另外,我创建了三个实例来跟踪当前的currProcA、currProcB、currProcC 我的问题是SUBROCA和SUBROCB应该一起跟踪(它们不能合并到同一个子类,因为SUBROCB的属性比SUBROCA多),

我有一个基类过程,以及从过程继承的三个子类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”时没有错误

那我该怎么修呢?根据我目前的设计,实现这个逻辑是否有任何微小的变化?非常感谢你的帮助

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的新类来实现我的目标。