【发布时间】:2016-08-17 18:32:45
【问题描述】:
我正在从
学习面向对象编程用算法和数据结构书籍解决问题。
我无法理解连接器类中的 setNextPin(self,source) 方法。我知道 tgate.setNextPin(self) 的意思是 tgate.setNextPin(tgate,self) 但这里的 self 到底是什么?连接器的自我代表什么让我感到困惑? 从逻辑上讲,此方法将设置 tgate.PinA = self,因为我们希望 tgate 从 fgate 中获取值,所以 self == fgate ?对不起,如果问题很愚蠢或令人困惑
class Connector:
def __init__(self, fgate, tgate):
self.fromgate = fgate
self.togate = tgate
tgate.setNextPin(self)
def getFrom(self):
return self.fromgate
def getTo(self):
return self.togate
我想我了解自我的基本概念,但如果我们有:
g1 = AndGate("G1")
g2 = AndGate("G2")
g3 = OrGate("G3")
c1 = Connector(g1,g3)
所以在这种情况下 g3.setNexPin(self) 会将 g3 的下一个引脚设置为 c1 ??但是 c1 只是一个连接器,没有任何值??
【问题讨论】:
-
是的,
g3.setNextPin(self)会将g3的“下一个”引脚设置为c1。至于下一句,由于我对这本书不熟悉,请您详细说明“但是 c1 只是一个连接器并且没有任何价值?”是什么意思。 -
啊对不起,我的意思是g3的pin必须是一个值对。 g3 是一个 OrGate 类,它接受两个值,例如 False 或 False 并返回值 False。我的意思是 c1 不保存任何值,所以我们如何将 g3 的引脚设置为 c1
-
-
根据您在此处显示的内容,没有布尔值存储在任何地方。但是,您尚未发布任何门类代码。可能最容易将
Connector类视为连接面包板上门的引脚的电线。
标签: class python-3.x object