所以现在我正在上课学习图论。我认为编写一个程序很酷。要创建不同的图,请添加和删除节点,边以及所有类似的排序。

这个学期我没有编程课,所以我想为下学期再次开始做准备。

到目前为止,我所拥有的是一个称为图论(驱动程序/命令行)的类,该类当然可以运行整个程序。

除了驱动程序类,我主要有以下类:
-图形:类型:路径,循环,完成...

因为它们都有节点和边的列表以及常见的添加/删除方法,所以我将TYPES(例如路径和循环)从图继承,因此我不必为每个方法都重新制作这100万种方法。

在驱动程序类中,我列出了所有已创建的图形。

ArrayList<Graph> graphs = new ArrayList<Graph>();


我的问题是,当我开始研究Partite图类时,它像其他视图一样从Graph继承,但是我无法访问这些方法。

我创建Partite时的驱动程序:

Partite p = new Partite(blah, blah);
graphs.add(p);


当我浏览并从列表中获取该图时,无法从Partite访问方法。
我怎样才能做到这一点。

最佳答案

因为当您从graphs获取元素时,它们将成为Graph类型的引用。

要从Partite访问方法,必须将强制类型转换添加到Partite

Partite p = new Partite(blah, blah);
graphs.add(p);
Partite other = (Partite)graphs.get(0);
other.methodFromPartite();


做完了

09-26 20:28