所以现在我正在上课学习图论。我认为编写一个程序很酷。要创建不同的图,请添加和删除节点,边以及所有类似的排序。
这个学期我没有编程课,所以我想为下学期再次开始做准备。
到目前为止,我所拥有的是一个称为图论(驱动程序/命令行)的类,该类当然可以运行整个程序。
除了驱动程序类,我主要有以下类:
-图形:类型:路径,循环,完成...
因为它们都有节点和边的列表以及常见的添加/删除方法,所以我将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();
做完了