22

我搜索并调查了,但我仍然需要澄清:适配器类和控制器类是否相似?如果不是,它们有什么不同?

请解释。

4

9 回答 9

27

适配器是一种提供接口或抽象类的默认(通常为空)实现的模式。例如MouseAdapter提供MouseListener接口的空实现。它很有用,因为通常您并没有真正使用接口声明的所有方法,因此直接实现接口非常冗长。

控制器是 MVC - 模型-视图-控制器模式的一部分。与适配器没有直接关系。

于 2012-04-16T08:25:07.983 回答
14

适配器的工作主要是使某些对象在需要不同接口的情况下工作。

控制器(在 MVC 意义上)的相似之处在于它是模型和视图类之间的中介,但不同之处在于它通常包含更多关于程序应该如何工作的知识。控制器不仅仅是使一个接口适应另一个接口。

假设您有一个具有setColor(red, green, blue)方法的 Color 类。您还有一些需要setColor(hue, saturation, value)方法的代码。您可以创建一个适配器类来包装您的 Color 类并根据您的 Color 类提供的方法实现预期的方法。

于 2012-04-16T08:23:21.830 回答
5

适配器类

  • 适配器类是一个简单的 java 类,它实现了一个只有 EMPTY 实现的接口。
  • 如果我们扩展 Adapter 类而不是实现接口,我们只为 require 方法提供实现

ex---如果我们扩展GenericServlet(AC)而不是实现Servlet(I),那么我们为Service()方法提供实现,我们不需要为剩余的方法提供实现..

泛型类 充当 Servlet(I) 的 ADAPTER 类。

于 2015-09-18T08:46:51.593 回答
4

适配器类提供事件侦听器接口中所有方法的默认实现。当您只想处理由特定事件侦听器接口处理的少数事件时,适配器类非常有用。您可以通过扩展其中一个适配器类来定义一个新类,并仅实现与您相关的那些事件。

于 2013-09-27T05:42:01.413 回答
2

适配器类提供事件侦听器类中所有方法的默认实现,方法在该类中定义,主体为空;我们可以通过继承该类来仅覆盖该类的必需方法。适配器类减少了编码行数。

于 2016-06-23T06:36:47.930 回答
1

每个侦听器接口都有 1 个或多个方法。包含超过 1 个方法的接口具有适配器类...每个适配器类都包含该接口的所有方法。如果我们在一个类中编写一个接口的方法,那么你应该编写所有的方法......监听器的一些接口包含超过6个方法......所以为了减轻程序员的负担,他们发明了这些适配器类.所以我们将这些适配器类扩展到我们的类并编写我们的方法,因此它覆盖了适配器方法....所以我们失去了编写所有方法的风险

于 2016-12-13T14:01:30.847 回答
0

Advantages of an Adapter Class:

  • If a class extends an Adapter Class, we can override some methods which is needed;
  • It can simplify the creation of the Event handlers in certain situations;
  • It provides an empty implementation of all methods in an EventListener Methods.
于 2014-06-25T07:06:34.127 回答
0

android 中的适配器对象为(示例)列表提供视图元素 - 因此它们显然属于 MVC 范例的视图部分

于 2012-04-16T08:23:10.797 回答
0

通过为本质上相同的方法(即 push(Stack) 而不是 add(ArrayList))赋予不同名称来适应另一个类的方法的类称为适配器类

于 2016-03-17T19:26:03.913 回答