wake-up-neo.com

Was ist eine Adapterklasse?

Ich habe gegoogelt und recherchiert, aber ich brauche noch ein paar Klarstellungen: Sind Adapterklasse und Controllerklasse ähnlich? Wenn nicht, wie unterscheiden sie sich?

Erklären Sie bitte.

18
Naruto

Adapter ist ein Muster, das eine standardmäßige (häufig leere) Implementierung der Schnittstelle oder abstrakten Klasse bereitstellt. Beispielsweise bietet MouseAdapter eine leere Implementierung der MouseListener-Schnittstelle. Dies ist nützlich, da Sie häufig nicht alle von der Schnittstelle deklarierten Methoden wirklich verwenden. Daher ist die direkte Implementierung der Schnittstelle sehr ausführlich. 

Der Controller ist Teil des MVC - Model-View-Controller-Musters. Keine direkte Beziehung zum Adapter.

22
AlexR

Die Aufgabe eines Adapters besteht hauptsächlich darin, ein Objekt in einer Situation zum Laufen zu bringen, in der eine andere Schnittstelle erwartet wird.

Ein Controller (in einem MVC-Sinn) ist ähnlich, da er zwischen Modell- und Ansichtsklassen vermittelt. Er unterscheidet sich jedoch darin, dass er im Allgemeinen viel mehr Wissen über die Funktionsweise des Programms enthält. Ein Controller kann mehr als nur eine Schnittstelle an eine andere anpassen.

Angenommen, Sie haben eine Color-Klasse, die eine setColor(red, green, blue)-Methode hat. Sie haben auch einen Code, der eine setColor(hue, saturation, value)-Methode erwartet. Sie können eine Adapterklasse erstellen, die Ihre Color-Klasse umschließt und die erwartete Methode in Bezug auf die von Ihrer Color-Klasse bereitgestellte Methode implementiert.

13
Caleb

Adapterklasse

  • Die Adapterklasse ist eine einfache Java-Klasse, die eine Schnittstelle nur mit einer LEER-Implementierung implementiert.
  • Anstatt die Schnittstelle zu implementieren, wenn wir die Adapter-Klasse erweitern, bieten wir die Implementierung nur für die Require-Methode an 

ex --- Statt Servlet (I) zu implementieren, wenn wir GenericServlet (AC) erweitern, stellen wir die Implementierung für die Service () - Methode bereit. 

Generische Klasse Fungiert als ADAPTER-Klasse für Servlet (I). 

5

Eine Adapterklasse stellt die Standardimplementierung aller Methoden in einer Ereignislistener-Schnittstelle bereit. Adapterklassen sind sehr nützlich, wenn Sie nur einige der Ereignisse verarbeiten möchten, die von einer bestimmten Ereignislistener-Schnittstelle verarbeitet werden. Sie können eine neue Klasse definieren, indem Sie eine der Adapterklassen erweitern und nur die für Sie relevanten Ereignisse implementieren.

4

eine Adapterklasse stellt Standardimplementierungen für alle Methoden in einer Ereignis-Listener-Klasse bereit. In dieser Klasse werden Methoden mit leerem Hauptteil definiert: Wir können nur erforderliche Methoden dieser Klasse überschreiben, indem sie diese Klasse erben von Zeilen der Kodierung.

2
Rishabh kumar

jede Listener-Schnittstelle verfügt über eine oder mehrere Methoden. Schnittstellen, die mehr als 1 Methode enthalten, haben Adapterklassen ... Jede Adapterklasse enthält alle Methoden dieser Schnittstelle . Wenn wir eine Methode eines Interfaces in eine Klasse schreiben, sollten Sie alle Methoden schreiben. Einige der Listener-Interfaces enthalten mehr als 6 Methoden. Damit der Programmierer weniger Aufwand hat, haben sie diese Adapterklassen erfunden Also erweitern wir diese Adapterklasse auf unsere Klasse und schreiben unsere Methode, daher überschreibt sie die Adaptermethode ... und wir verlieren das Risiko, alle Methoden zu schreiben

1
Suraj Sunny

Eine Klasse, die Methoden einer anderen Klasse anpasst, indem sie im Wesentlichen denselben Methoden (d. H. Push (Stack) anstelle von add (ArrayList)) unterschiedliche Namen gibt, wird als Adapterklasse bezeichnet

0
snr

Vorteile einer Adapterklasse: 

  • Wenn eine Klasse eine Adapterklasse erweitert, können wir einige erforderliche Methoden überschreiben.
  • In bestimmten Situationen kann die Erstellung der Ereignishandler vereinfacht werden.
  • Es bietet eine leere Implementierung aller Methoden in einer EventListener-Methode.
0
user3773990

Adapterobjekte in Android stellen Ansichtselemente für (Beispiels-) Listen bereit - daher gehören sie eindeutig zum Ansichtsteil des MVC-Paradigmas 

0