我在嵌套类和子类之间的关系方面遇到问题。考虑以下代码:
class Graph {
class Edge {
...
}
class Vertex {
List<Edge> _edges;
...
}
...
}
class WeightedGraph extends Graph {
class WeightedEdge extends Edge {
...
}
...
}
问题是,在为 WeightedGraph 编写方法时,我无法访问 _edges;编辑说它不能从类型 Edge 转换为 WeightedEdge。我想我还必须扩展嵌套类 Vertex,因为在 Graph 中它使用 Edge 类型,而在 WeightedGraph 中它必须使用 WeightedEdge 类型。什么是这样做的好方法(无需重新编写代码)?