Inhaltsverzeichnis
Obwohl beide Strukturen ähnlich erscheinen mögen, da sie die Klassen, die sie verwenden, zwingen, die Methoden zu erstellen, die sie haben, und sie zu verwenden, damit sie gültig sind, gibt es wichtige Unterschiede zwischen ihnen, die uns mehr Aufschluss darüber geben können, wie wir sie verwenden können .Die Unterschiede, obwohl sie subtil sind, ermöglichen es uns, beide Strukturen auch in Kombination zu verwenden. Auf diese Weise können wir in unserem Projekt eine größere Ordnung erreichen und Anwendungen erstellen, die es uns ermöglichen, die Objekte der realen Welt in einem digitalen Format besser wiederzugeben.
BeschränkungenDer Hauptunterschied, den wir sehen zwischen abstrakte Klassen und Schnittstellen ist, dass die erste eine Klasse ist und die zweite nicht, obwohl die Schnittstelle hat eine ähnliche Struktur, unterliegt Einschränkungen, die in a . nicht zu finden sind abstrakte Klasse.
VariablenDas abstrakte Klasse hat keine Einschränkung bei der Verwendung von Variablen, jedoch Schnittstelle Wenn ja, müssen tatsächlich alle Variablen, die wir verwenden werden, sein öffentlich, statisch oder endgültig.
In diesem Fall die Baumeister des abstrakte Klasse muss über Unterklassen aufgerufen werden, was die Möglichkeit der Instanziierung durch den Operator auslässt Neu.
Im Falle des Schnittstelle, dies kann keine Konstruktoren haben, da es sich nicht um eine Klasse handelt, was dazu führt, dass wir auch die Erstellung von Instanzen mit dem Operator verwerfen Neu.
MethodenIn einem Schnittstelle die Methoden müssen sein öffentliche Zusammenfassung Andererseits können wir in der abstrakten Klasse jede Art von Methode problemlos platzieren, was für uns einen weiteren Unterschied macht.
Ein weiterer Punkt, den wir berücksichtigen müssen, ist die Art der Vererbung und Umsetzung, die wir mit diesen beiden Strukturen in Java, wir wissen das, wenn wir es tun Nachlass In einer Klasse können wir nur direkt von einer übergeordneten Klasse erben, d.h. wenn wir von zwei verschiedenen Klassen erben wollen, müssen wir einen Kaskadeneffekt erzeugen, bei dem eine erste Klasse von der übergeordneten Klasse erbt und dann eine andere Klasse von erbt this, um seine Funktionalität und die seiner Elternklasse zu erhalten.
Im Schnittstellen Dieses Problem tritt nicht auf, tatsächlich können wir direkt von mehreren Schnittstellen erben. Wenn wir also ihre Methoden erhalten möchten, können wir dies problemlos tun.
Im Falle des Implementierung einer Schnittstelle in einer abstrakten Klasse, wenn wir mehr Freiheit haben, können wir in diesem Fall mehrere Interfaces ohne jegliche Einschränkung implementieren, was uns die Möglichkeit gibt, sozusagen ein komplexeres Eltern-Interface zu erstellen. Wichtig ist hier zu wissen und zu berücksichtigen, dass eine Schnittstelle keine Klasse ist und daher nicht von einer erben kann, sondern nur Vererbung von anderen Schnittstellen.
Damit beenden wir dieses Tutorial, wir haben die Unterschiede in den Einschränkungen und der Implementierung in unseren Programmen dieser beiden Strukturen gesehen JavaObwohl beide dazu dienen, Verhaltensweisen zu modellieren und zu definieren, hat jedes seinen eigenen Raum, so dass wir, wenn wir sie besser kennen, in der Lage sein werden, zu entscheiden, welches in unseren mit dieser Sprache erstellten Programmen verwendet werden soll.Hat dir dieses Tutorial gefallen und geholfen?Sie können den Autor belohnen, indem Sie diesen Knopf drücken, um ihm einen positiven Punkt zu geben