JavaRush /Java-Blog /Random-DE /Schnittstelle in Java
vinsler
Level 35

Schnittstelle in Java

Veröffentlicht in der Gruppe Random-DE
Ich bin ein schlechter Geschichtenerzähler, wenn ich nicht das Ziel habe, jemandem mit einem konkreten Anliegen etwas Unverständliches zu erklären, also die einfachen Dinge verstehe, und zum einen schreibe ich hier darüber. Ich folge nicht dem JavaRush-Lehrbeispiel, bei dem man zuerst eine Frage stellt und dann erklärt, wie man es macht. Ich bin ein Befürworter davon, zuerst zu erzählen und dann zu fragen, wie beim Erzählen, zuerst Zeigen und dann Erklären.
Schnittstelle in Java - 1
BS: Aktionen == Verhalten, nehmen Sie sie als Synonyme, Aktionen werden einfach richtiger verstanden, es ist immer etwas Aktives und Verhalten zeigt möglicherweise nichts.

Schnittstelle - Schnittstelle

Was ist das? Beispielhafte Schnittstellenauflistung (mit Generika):
public interface Store<T, ID> {
    void add(T t);
    void update(T t, ID i);
    void delete(ID i);
    T findOne(ID i);
    List<T> findAll();
}
Gemeinsame Crud-Schnittstelle (von CRUD: Erstellen, Lesen, Aktualisieren, Löschen). Seien Sie nicht beunruhigt, alles ist ganz einfach. Diese Schnittstelle bedeutet, dass die Arbeit mit vielen Datenbanken auf dem folgenden Prinzip basiert: Sie müssen einen Datensatz hinzufügen, einen Datensatz aktualisieren, löschen und alle Datensätze finden. Sie werden dies noch 100 Mal sehen und fast dieselbe Schnittstelle genauso oft schreiben. Es wird als öffentlich bezeichnet, da es von der Klasse implementiert werden muss. Was bedeutet es, von einer Klasse implementiert zu werden ? Alles ist ganz einfach: Es muss alle Methoden der Schnittstelle beschreiben. Das einfachste Beispiel für die Implementierung in einer Klasse:
void add (T t) {
	bookstore.add(t);
}
Anstelle von T t wird ein bestimmtes Generikum ersetzt. Kurz gesagt ist dies der TYP einer Variablen, weshalb er am häufigsten als T = Typ bezeichnet wird. Nehmen wir in unserem Beispiel an, dass es so aussehen könnte:
void add (Book book) {
	bookstore.add(book);
}
Natürlich können Sie anstelle von Book book jede Variable ersetzen, die Sie für Ihre Implementierung benötigen. Zum Verständnis können Sie sich theoretisch vorstellen, dass T = Objekt ist, und da in Java alles Objekt ist, können Sie dort auch jede Ihrer Klassen/Variablen definieren. Das einzige Problem wird später auftreten – Ausnahmen, wenn die Klasse Null ist usw. In seinen eigenen Worten handelt es sich um eine bestimmte Programmstruktur, die die Beziehungen zwischen Objekten definiert, indem sie sie in bestimmte Verhaltensteile unterteilt. Der Zweck einer Schnittstelle besteht darin, Funktionalität für die Implementierung durch eine Klasse zu definieren. Das heißt, eine Beschreibung von Methodensignaturen. Innerhalb der Schnittstelle gibt es Namen von Methoden, die Werte zurückgeben und eingeben, und das war’s. Nun, Sie können dort immer noch einige Variablen festlegen, diese werden jedoch sofort implizit zu öffentlichen, statischen und endgültigen Variablen und können von jedem Teil des Programms aus aufgerufen werden. Die Schnittstelle beschreibt Aktionen, und daher sind dieselben Aktionen darin enthalten, d. h. Funktionen oder Methoden. Warum ist das notwendig? Was vereinfacht bzw. welche Vorteile bietet es? Vereinfachung der Beschreibung von Handlungen und Verhalten. Wir sagen, was zu tun ist, aber jede Klasse implementiert selbst, wie es zu tun ist. Sparen Sie Zeit bei großen Projekten. Schnittstellen werden in Situationen erstellt, in denen wir wissen, dass wir eine Aufgabe ausführen müssen, die Vorgehensweise jedoch unterschiedlich sein kann. Die Schnittstelle beschreibt die Namen der Aktionen – dies ist lediglich die Richtung einer Abstraktion. Allerdings kann es auch Schnittstellen ohne Methoden und Felder geben, wie z. B. Markierungen wie Cloneable, Remote usw. Nehmen wir das beliebteste Beispiel eines Autos. Die darin enthaltene Schnittstelle beschreibt die möglichen Aktionen des Fahrzeugs, das Drehen des Lenkrads oder die Fahrtrichtung, Geschwindigkeitssteigerung, verbleibendes Benzin usw. Das heißt, die gleichen Aktionen, die absolut jedes Auto haben kann. Mit anderen Worten, wir steigen in den Dschungel des Verfalls bis zur untersten Schöpfungsebene des allerersten Autos hinab und finden mit unserem eigenen Gehirn heraus, wie es entstanden ist und was es hatte. Selbstverständlich beschreiben wir dies abstrakt und nur für Handlungen. Was hatte das allererste Auto? Gab es ein Lenkrad? Es war, was bedeutet, dass es sich irgendwo drehte, die Richtung des Lenkrads/der Bewegung. Gab es Räder? Ja, das bedeutet, dass ich mit einer bestimmten Geschwindigkeit gefahren bin, einer Geschwindigkeitsänderung. Das ist die gesamte Schnittstelle. Im Allgemeinen werden jedoch Schnittstellen für die Implementierung bestimmter Aktionen erstellt. Diese. Wir schreiben ein Programm für spezifischere Themen als für alles andere, was Ihnen einfällt. Daher werden die Schnittstellen selbst klarere und spezifischere Methoden enthalten. Natürlich werden sie so abstrakt wie möglich sein. Schnittstellen können als Klassen voneinander geerbt werden.
interface MyInterface extends NotMyinterface;
Schnittstellen werden in Klassen implementiert. Sie können beliebig viele Schnittstellen implementieren. Im Gegensatz zur Vererbung können Sie nur von einem erben.
class NewClass extends OldClass implements MyInterface, NotMyinterface;
Diese. Wir haben uns einige Aktionen ausgedacht, ihnen Namen gegeben, Daten eingegeben und Daten zurückgegeben, das alles in die Schnittstelle geschrieben, dann eine Klasse erstellt und unsere Schnittstelle zu dieser Klasse hinzugefügt, d. h. haben unsere Schnittstelle in dieser Klasse implementiert. Darüber hinaus müssen alle in der Schnittstelle beschriebenen Methoden/Funktionen über eine Implementierung verfügen. Dies kann direkt in der Schnittstelle selbst erfolgen, indem das Wort default vor der Methode hinzugefügt und die Implementierung wie eine Klasse direkt in die Methode geschrieben wird. Dies wurde mit Version 8 von Java möglich. Dies kann auch in einer Klasse erfolgen, die diese Schnittstelle implementiert. Nun, wir haben die Schnittstelle geschrieben, sie in der Klasse implementiert, die Implementierung in der Klasse ausgerollt, wir können sie ausführen und testen. Sie können in den Schnittstellen auch Folgendes lesen:
  • Statische Methoden.
  • Private Methoden. (Codewiederholung)
  • Variablen/Konstanten.
  • Verschachtelte Schnittstellen.
Aber es ist besser, dies später zu tun, und es ist auch schädlich, den Kopf mit zu viel zu füllen. Interessante Frage, was ist ein Volvo? Klasse oder Schnittstelle?
line1: Volvo v = new VolvoV2();
line2: Volvo v = new VolvoV3();
Neben Schnittstellen lohnt es sich, auch über abstrakte Klassen und Klassen zu sprechen. Vielleicht später, wenn ich noch ein paar Stunden frei habe. ))) PS: Leute, ich bitte um jede Kritik unter dem Beitrag oder per PN, ich verstehe vollkommen, dass jeder sie hat))) und ich bin immer daran interessiert, sie zu hören, denn das ist ein Grund, ein bisschen besser zu werden und wieder weiter vorwärts gehen. In diesem Sinne vielen Dank an alle und viel Erfolg beim Programmieren. )))
Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION