我用Google搜索并进行了调查,但我仍需要澄清一下:适配器类和控制器类是否类似?如果没有,他们会以什么方式区别?
请解释一下。
答案 0 :(得分:22)
Adapter是一种提供接口或抽象类的默认(通常为空)实现的模式。例如,MouseAdapter
提供MouseListener
接口的空实现。它很有用,因为通常你并不真正使用接口声明的所有方法,因此直接实现接口非常冗长。
Controller是MVC - 模型 - 视图 - 控制器模式的一部分。与Adapter没有直接关系。
答案 1 :(得分:13)
适配器的工作主要是使某些对象在需要不同接口的情况下工作。
控制器(在MVC意义上)是类似的,因为它是模型和视图类之间的中介,但不同之处在于它通常体现了关于程序应该如何工作的更多知识。控制器所做的不仅仅是将一个接口适应另一个接口。
假设您有一个具有setColor(red, green, blue)
方法的Color类。您还有一些需要setColor(hue, saturation, value)
方法的代码。您可以创建一个包装Color类的适配器类,并根据Color类提供的方法实现预期的方法。
答案 2 :(得分:5)
ex ---如果我们扩展GenericServlet(AC)而不是实现Servlet(I),那么我们提供Service()方法的实现,我们不需要为剩余的meyhod提供实现。
Generic class用作Servlet(I)的ADAPTER类。
答案 3 :(得分:4)
适配器类提供事件侦听器接口中所有方法的默认实现。当您只想处理由特定事件侦听器接口处理的少数事件时,适配器类非常有用。您可以通过扩展其中一个适配器类来定义新类,并仅实现与您相关的事件。
答案 4 :(得分:2)
一个适配器类提供事件监听器类中所有方法的默认实现,方法在该类中定义为空体; 我们可以通过继承该类来仅覆盖该类的必需方法。 适配器类减少了编码行。
答案 5 :(得分:1)
每个侦听器接口都有一个或多个方法。包含多个方法的接口具有适配器类...每个适配器类包含该接口的所有方法。 如果我们在类中编写接口的方法,那么你应该编写所有的方法...监听器的一些接口包含6个以上的方法....所以为了减轻程序员的负担,他们发明了这些适配器类.so我们将这些adapterclass扩展到我们的类,我们编写了我们的方法,因此它覆盖了adapter方法....所以我们失去了编写所有方法的风险
答案 6 :(得分:0)
android中的适配器对象提供(示例)列表的视图元素 - 因此它们明显属于MVC范例的视图部分
答案 7 :(得分:0)
适配器类的优点:
答案 8 :(得分:0)
通过为基本相同的方法赋予不同名称来调整另一个类的方法的类(即push(Stack)而不是add(ArrayList))称为适配器类