class AndTrigger(Trigger):
def __init__(self,object1,object2):
self.object1 = object1
self.object2 = object2
def evaluate(self,object):
return self.object1.evaluate(self) and self.object2.evaluate(self)
我实现了这个 AND 触发器,它按预期工作,但我只能通过反复试验才能使其工作——我不知道“自我”在这门课上做什么。
这是我认为正在发生的事情: the__init__
是类的构造函数,因此该类的任何实例在创建时都会使用它。该类有两个属性(object1,object2),__init__
创建类时告诉新实例这些新属性将被称为“object1”和“object2”,因此它们被分配给 self.object1 等。
现在,这个评估函数应该防止触发器中未实现的加注,但这不是我没有得到的。在这个评估函数中,它看起来有两个参数——AndTrigger 的实例和另一个对象。但是 的定义中的另一个对象在evaluate()
哪里?这对我来说只是一个谜,它是如何工作的,但它确实如此!