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觸發器,它的工作原理與它應有的一樣,但我只能通過試驗和錯誤使它工作 - 我不知道什麼是什麼'自我'正在這個班上做。請解釋這個類,子類,例外代碼
下面是我認爲正在發生的事情:__init__
是該類的構造函數,因此該類的任何實例在創建時都會使用它。這個類有兩個屬性(object1,object2),創建類時的__init__
告訴新實例這些新屬性將被稱爲'object1'和'object2',因此它們被分配給self.object1等。
現在,這個評估函數應該可以防止Trigger中未實現的提升,但這並不是我沒有得到的。在這個評估函數中,它看起來像有兩個參數 - AndTrigger的實例和另一個對象。但evaluate()
的定義中的這個另一個對象在哪裏?這對我來說只是一個難題,但它確實如此!
在'評估'中根本沒有使用「對象」。它被忽略。 –
如果您不知道「self」是什麼,您需要閱讀Python中的基本對象使用情況。另外,如果這就是你的對象,並且你不打算添加更多,這是一個經典的例子,讓你不需要一個對象 - 這是一個功能。 –
另外,您的措辭很不明確 - 例如,您似乎將* aspect *用作* attribute *的同義詞。 –