나는 슈퍼 클래스 (GraphNode)와 서브 클래스 (AStarNode)를 가지고있다. 두 클래스 모두 다른 클래스에 의해 멤버가 될 수 있습니다. 왜이 클래스를 일반 클래스 (GraphEdge)로 사용하는 클래스로 바꿨습니다. 나는 슈퍼 클래스의 일부 멤버-함수를 호출하고 싶습니다이 클래스 내부 일반 멤버의 멤버 함수 호출
하지만 컴파일러는 불평 :The method addEdge(GraphEdge<T>) is undefined for the type T
가 어떻게이 문제를 해결할 수 있습니다 또는 내 접근도 괜찮아?
public class GraphNode {
protected Graph graph;
public GraphEdge addEdge(){
//some code
}
}
public class AStarNode extends GraphNode {
protected GraphEdge predecessor;
}
//The from and to properties can be either AStarNode or GraphNode
public class GraphEdge<T> extends Entity {
protected T from;
protected T to;
public someMethod(){
from.addEdge(this);
}
}
우리 모두가 같은 일에 대해 이야기하고 있는지 확인하려면 GraphEdge는 제네릭 형식이기 때문에 선언은 AStarNode의 원시 형태로 사용하지 말아야합니다, 또한
해야한다 수업 간의 관계를 보여주는 짧은 코드 스 니펫을 게시하십시오. –
시나리오를 설명하는 코드를 추가했습니다. – Hedge