10

私はプログラミングの割り当てを与えられました、そして私がしなければならないことの1つは、座標を最低から最高にソートするために別のメソッドに依存するラッパーメソッドであるメソッドを実装することです。ラッパーメソッドを実装することの正確な意味がわかりません。

static void sortCoordsByZ(double[][] coords) {
    //implement the wrapper method for the recursive sort method. all work is done the recursive sort method
}

static void recursiveSort(double[][] coords, int lo, int hi) {
    //recursive sort method
}
4

6 に答える 6

14

ラッパーメソッドは、アダプターまたはファサードです。既存のメソッドの代替インターフェースを提供します。

ファサード(ファサード)を作成するように求められました。これは、高い値と低い値を指定する必要のないクライアントに、よりシンプルなインターフェイスを提供するためです。

于 2009-11-15T01:17:50.450 に答える
10

あなたは、Stack Overflow で課題の質問をすることで、ラッパー メソッドとして機能しています。

ラッパー メソッドは、「エキスパート」メソッドに回答を求めることで質問に回答します。一般に、次の 3 つのことを行います。

  1. 「専門家」の方法が理解できるように質問を組み立てます。
  2. 「エキスパート」メソッドに質問します
  3. 発信者にとって適切な形式にするために、回答に対して簡単なことを行います。

あなたの場合、「エキスパート」メソッドはrecursiveSort()であり、sortCoordsByZ()メソッドは正しいパラメーターで呼び出す必要がrecursiveSort()あり、それを返す前に答えを処理する必要があります。

于 2009-11-15T03:16:52.743 に答える
8

ラッパーメソッドを実装すると、通常、既存のメソッドが現在の要件を満たしていないため、既存のメソッドのバリアントを効果的にコーディングできます。元のメソッドは複雑すぎる(パラメーターが多すぎる)か、必要なことを完全に実行できない可能性があります。つまり、元のメソッドではできない余分な作業を行うラッパー(またはオーバーロード)を作成する必要があります。通常、ラッパーを作成するときは、元の関数を何にでも活用し、ラッパーでギャップを埋めます。

于 2009-11-15T01:19:37.733 に答える
3

別のメソッドをラップします:)おそらく、loやhiの初期値など、いくつかの追加の引数を追加し、並べ替えのエントリポイントとして機能します。

于 2009-11-15T01:16:59.737 に答える
3

その場合、すべてのスロットが埋められているcoordsという配列を通過する場合、「sortbyz」メソッドに入れる必要があるのはこれだけではないでしょうか。

recursiveSort(coords, 0, coords.length-1);
于 2009-11-15T05:54:20.410 に答える
2

ラッパー メソッドは、抽象化、標準化、およびリファクタリングに使用できます

たとえば、特別なヘルパー メソッドのライブラリをインポートしてアプリケーション全体で使用した場合、後でより多くの機能を提供する別のライブラリに切り替えることにした場合、以前のライブラリ メソッドを呼び出すすべてのコード行を書き直す必要があります。新しいライブラリ メソッドを呼び出します。アプリケーションが数万行、数十万行に達すると、これは非常に大きな作業になります。これは、ソフトウェアがライセンスされ、有効期限が切れて新しいオプションが選択されたときに、より頻繁に発生します。

この問題を解決するには、すべてのヘルパー メソッドを独自のメソッドでラップします。これらのメソッドは、インポートしたライブラリのメソッドを呼び出す 1 行にすぎません。インポートしたライブラリを直接呼び出すのではなく、アプリケーション全体ですべてのラッパー メソッドを呼び出します。

新しいライブラリをインポートするときに、すべての抽象化の利点が得られます。アプリケーション全体のすべての呼び出しを書き直す代わりに、独自のクラスであるラッパー メソッドを書き直すだけで済みます。現在、ラッパー クラスの 1 つのメソッドを変更すると、そのメソッドが使用されているアプリケーション全体が更新されます。(例については、MVC4 .NET HTML ヘルパー メソッドを参照してください)

標準化に関しては、ラッパーを使用して、オブジェクトの作成時に手動で設定される多くの項目のデフォルト値を設定できます。ただし、ラッパーで設定されている場合は、元のメソッドが呼び出されるたびに設定する必要がなくなりました。たとえば、Gridview ラッパーでグリッド ビューのサイズを設定すると、アプリケーションでラッパー メソッドを呼び出すと、すべてのグリッド ビューが同じサイズになり、アプリケーション全体で維持する必要があるコード行が少なくなります。リファクタリングも実現。

于 2013-12-21T22:32:13.883 に答える