我尝试构建这些类,我需要显示边缘的每个节点。 (节点的状态只是数字1或0(访问/未访问))。
我必须构建一个图形(无向)并管理所有边缘(显示边缘,改变边缘节点的状态等)。
问题出在方法getNode1()
上的类Edge中class Nodee:
def __init__(self, node, state):
self.node = node
self.state = state
def getNode(self):
return self.node
def getStateNode(self):
return self.state
class Edge(Nodee):
def __init__(self, node1, node2):
Nodee.__init__(self,node1,0)
Nodee.__init__(self,node2,0)
def getNode1(self):
return self.node1.getNode()
def getStateNode1(self):
return self.node1.getStateNode()
def getNode2(self):
return self.node2.getNode()
def getStateNode2(self):
return self.node2.getStateNode()
def main():
graf = []
node1 = Nodee(2,0)
node2 = Nodee(1,0)
graf.append(Edge(node1,node2))
print(str(node1.getNode()))
print(str(graf[0].getNode1()))
答案 0 :(得分:0)
我相信你不明白继承是什么。
您的代码没有node1和node2实例变量。 这是主要问题。 如果以下代码满足您的需求,则不需要任何继承。
class Node(object):
def __init__(self, node, state):
self.node = node
self.state = state
def get_node(self):
return self.node
def get_state_node(self):
return self.state
class Edge(object):
def __init__(self, node1, node2):
self.nodes = []
self.nodes.append(node1)
self.nodes.append(node2)
def get_node(self, index):
return self.nodes[index].get_node()
def get_state_node(self, index):
return self.nodes[index].get_state_node()
def main():
graf = []
node1 = Node(2,0)
node2 = Node(1,0)
graf.append(Edge(node1,node2))
print(node1.get_node())
print(graf[0].get_node(0))
if __name__ == '__main__':
main()
如果您在python中编写代码,那么有一些约定,请查看PEP8。