22

私はググって調査しましたが、まだ明確にする必要があります: アダプタークラスとコントローラークラスは似ていますか? そうでない場合、それらはどのように異なりますか?

親切に説明してください。

4

9 に答える 9

27

アダプタは、インターフェイスまたは抽象クラスのデフォルト(多くの場合空)の実装を提供するパターンです。たとえば、インターフェイスMouseAdapterの空の実装を提供しMouseListenerます。インターフェイスによって宣言されたすべてのメソッドを実際に使用するわけではないため、インターフェイスを直接実装するのは非常に冗長であるため、これは便利です。

ControllerはMVC--Model-View-Controllerパターンの一部です。アダプタとの直接の関係はありません。

于 2012-04-16T08:25:07.983 に答える
14

アダプターの主な役割は、異なるインターフェイスが必要な状況でオブジェクトを機能させることです。

コントローラー (MVC の意味で) は、モデル クラスとビュー クラスの間の仲介者であるという点で似ていますが、通常、プログラムがどのように機能するかについて、より多くの知識を具体化するという点で異なります。コントローラーは、あるインターフェイスを別のインターフェイスに適応させるだけではありません。

メソッドを持つ Color クラスがあるとしますsetColor(red, green, blue)setColor(hue, saturation, value)メソッドを期待するコードもあります。Color クラスをラップするアダプタ クラスを作成し、Color クラスが提供するメソッドに関して期待されるメソッドを実装できます。

于 2012-04-16T08:23:21.830 に答える
0

アダプタ クラスの利点:

  • クラスがアダプタ クラスを拡張する場合、必要ないくつかのメソッドをオーバーライドできます。
  • 特定の状況でのイベント ハンドラーの作成を簡素化できます。
  • EventListener メソッド内のすべてのメソッドの空の実装を提供します。
于 2014-06-25T07:06:34.127 に答える
0

Android のアダプター オブジェクトは、(例の) リストのビュー要素を提供します。したがって、それらは明らかに MVC パラダイムのビュー部分に属します。

于 2012-04-16T08:23:10.797 に答える
0

本質的に同じメソッドに異なる名前を付けることによって別のクラスのメソッドを適応させるクラス (つまり、add(ArrayList) の代わりに push(Stack)) は、アダプタ クラスと呼ばれます。

于 2016-03-17T19:26:03.913 に答える