擅长:python、mysql、java
<p><code>Graph</code>中唯一显式引用并依赖于<code>Vertex</code>的部分是<code>addVertex</code>,它使用<code>Vertex</code>的构造函数生成一个对象,然后将该对象填充到字典中。我建议更改<code>addVertex</code>,以便将<code>Vertex</code>对象作为参数添加,从而使调用者进行构造并让他们确定要使用的<code>Vertex</code>类,例如:</p>
<pre><code>def addVertex(self, key, newVert):
self.numVertices += 1
self.vertList[key] = newVert
return newVert
</code></pre>
<p>或者,为了减少多余的参数,在对<code>Vertex</code>进行简单的添加之后:</p>
<pre><code>def addVertex(self, newVert):
self.numVertices += 1
self.vertList[newVert.getKey()] = newVert
return newVert
</code></pre>