私は、少し異なるソートアルゴリズムを実装するプロジェクトを持っています。Javaでメソッド抽象を呼び出すべきですか?
私はSorter
と呼ばれる抽象クラスを作成し、それはサブクラスです:BubbleSort
、QuickSort
、CoctailSort
、SelectionSort
。
ほとんどすべてのサブクラスは、というメソッド(2つの要素の間の場所を変更する)を持っています(MergeSort
以外)。
swap
抽象メソッドを定義するのは悪いですか?あるサブクラスで実装されていないか、MergeSort
コードを再作成してswap
メソッドを追加する必要がありますか?
抽象クラスから 'swap'メソッド定義を削除し、それを別のインターフェースで宣言して、すべての' Sort'クラスが 'MergeSort'のために保存するようにすることができます。 – Mena
クラスが抽象クラスを継承する場合、サブクラスはスーパークラスに存在するすべての抽象メソッドをオーバーライドする必要があります。それはあなたに必要な機能の種類に依存します。 – Karan
私はスワップメソッド抽象を定義していませんでした。そのメソッドはサブクラスで定義されていますが、MergeSortでは定義されていません – Mark