【发布时间】:2014-02-05 12:29:43
【问题描述】:
我正在尝试构建一个程序,当它们被排序时,我有一个 int 数组的可视化表示。将有两种不同的搜索算法可供选择。所有功能都分为类、接口和抽象类。我的主要问题是将数据从一件事转移到另一件事。
我的主类实现了基本的窗口功能。绘制窗口,几个按钮选择搜索算法,提供一个输入数组的文本字段,并在其中心显示数组的条形图可视化。
在扩展JComponent 的类中绘制条形图。这也是我将数字字符串转换为 int 数组的地方。我已经可以绘制图形,更改数组并且它也被绘制了。
现在我有一个名为Sorter 的接口,它提供了以下方法。
public void setUpTo( int i ); // to limit the number of swaps during the search
public void setNumbers( int[] numbers );
public void sort();
public String getName();
public int getSwaps();
然后我有实现Sorter 的抽象类CountingSort 和扩展CountingSort 的类CountingBubbleSort。
这一切都让我很困惑。
在我的主课中,我听一个按钮来传递 TextField 的内容并开始排序。
我需要做什么才能将 int 数组通过CountingSort 转换为CountingBubbleSort?
我已经实现了CountingBubbleSort。
让我知道我需要提供哪些额外信息。
【问题讨论】:
-
CountingBubbleSort#setNumbers? -
不确定我是否理解,但是,你为什么不直接创建一个
CountingBubbleSort的实例?然后为该实例调用setNumbers(...)(以及所有必需的方法)。 -
应该只是创建一个 CountingBubbleSort 对象并调用 setNumbers() 方法。抽象类 CountingSort 的想法是为排序功能提供一个标准接口,允许您拥有从该抽象类派生的几种不同类型的排序对象。多态性允许您将所有各种派生类型视为一个 CountingSort 对象,并且每个派生类型都将执行自己特定的排序实现。
-
如何以及在哪里执行此操作?很抱歉,这是我使用接口和抽象类的第一个任务。
-
看看一些相关链接,例如这个stackoverflow.com/questions/11389137/…
标签: java arrays interface abstract-class