Java 扩展simplewightedgraph-JgraphT
我想知道从JgraphT库扩展SimpleWeightedGraph的正确方法,这样我就可以使用一个简化的别名,并根据需要包括其他功能 而不是每次使用Java 扩展simplewightedgraph-JgraphT,java,jgrapht,Java,Jgrapht,我想知道从JgraphT库扩展SimpleWeightedGraph的正确方法,这样我就可以使用一个简化的别名,并根据需要包括其他功能 而不是每次使用 SimpleWeightedGraph<Node, DefaultWeightedEdge> graph = new SimpleWeightedGraph<Node, DefaultWeightedEdge>(DefaultWeightedEdge.class); 但这似乎并没有创建对象。我是否缺少其他构造函数?好的
SimpleWeightedGraph<Node, DefaultWeightedEdge> graph
= new SimpleWeightedGraph<Node, DefaultWeightedEdge>(DefaultWeightedEdge.class);
但这似乎并没有创建对象。我是否缺少其他构造函数?好的,我找到了。下面是必须包含edgefactory构造函数的类
public class CustomGraph extends SimpleWeightedGraph<Node, DefaultWeightedEdge>{
/**
* Creates a new simple weighted graph with the specified edge factory.
*
* @param ef the edge factory of the new graph.
*/
public CustomGraph(EdgeFactory<Node, DefaultWeightedEdge> ef)
{
super(ef);
}
/**
* Creates a new simple weighted graph.
*
* @param edgeClass class on which to base factory for edges
*/
public CustomGraph(Class<? extends DefaultWeightedEdge> edgeClass)
{
this(new ClassBasedEdgeFactory<Node, DefaultWeightedEdge>(edgeClass));
}
}
公共类CustomGraph扩展了SimpleWightEdgraph{
/**
*使用指定的边工厂创建新的简单加权图。
*
*@param ef新图形的边工厂。
*/
公共自定义图形(EdgeFactory ef)
{
超级(ef);
}
/**
*创建一个新的简单加权图。
*
*@param edgeClass类,在该类上为边创建工厂
*/
public CustomGraph(ClassGraph)什么不起作用?它不编译?它在运行时失败?很抱歉,它太模糊了。我现在已经编辑了它。对象没有被创建。
CustomGraph graph = new CustomGraph();
public class CustomGraph extends SimpleWeightedGraph<Node, DefaultWeightedEdge>{
/**
* Creates a new simple weighted graph with the specified edge factory.
*
* @param ef the edge factory of the new graph.
*/
public CustomGraph(EdgeFactory<Node, DefaultWeightedEdge> ef)
{
super(ef);
}
/**
* Creates a new simple weighted graph.
*
* @param edgeClass class on which to base factory for edges
*/
public CustomGraph(Class<? extends DefaultWeightedEdge> edgeClass)
{
this(new ClassBasedEdgeFactory<Node, DefaultWeightedEdge>(edgeClass));
}
}