Obwohl die Unterschiede geringfügig sind, können wir beide Strukturen verwenden, auch wenn sie kombiniert sind. Auf diese Weise können wir unserem Projekt eine größere Ordnung verleihen und Anwendungen erstellen, mit denen wir die Objekte der realen Welt in einem digitalen Format besser reproduzieren können.
Bauherren
In diesem Fall muss der Konstruktor der abstrakten Klasse über Unterklassen aufgerufen werden, wodurch die Möglichkeit entfällt, ihn über den Operator new zu instanziieren.
Im Falle der Schnittstelle kann dies keine Konstruktoren haben, da es keine Klasse ist, was bedeutet, dass wir auch die Erstellung von Instanzen mit dem Operator new verwerfen.
Vererbung und Implementierung
Ein weiterer Punkt, den wir berücksichtigen müssen, ist die Art der Vererbung und Implementierung, die wir mit diesen beiden Strukturen in Java erreichen können. Wir wissen, dass wir bei der Vererbung in einer Klasse nur direkt von einer höheren Klasse erben können, wenn wir dies möchten Von zwei verschiedenen Klassen erben, müssen wir einen Kaskadeneffekt erstellen, bei dem eine erste Klasse von der übergeordneten Klasse und dann eine andere Klasse von dieser Klasse erbt, um ihre Funktionalität und die ihrer übergeordneten Klasse zu erhalten.
In den Interfaces tritt dieses Problem nicht auf. Tatsächlich können wir direkt von mehreren Interfaces erben. Wenn wir also ihre Methoden erhalten möchten, können wir dies problemlos tun.
Wenn wir bei der Implementierung einer Schnittstelle in einer abstrakten Klasse mehr Freiheit haben, können wir in diesem Fall mehrere Schnittstellen ohne irgendeine Einschränkung implementieren, was uns die Möglichkeit gibt, eine komplexere übergeordnete Schnittstelle zu erstellen, um dies auszudrücken irgendwie Wichtig ist hierbei zu wissen und zu beachten, dass eine Schnittstelle keine Klasse ist und daher nicht von einer erben kann, sondern nur andere Schnittstellen .
Nachdem wir dieses Tutorial abgeschlossen haben, haben wir die Unterschiede in den Einschränkungen und der Implementierung dieser beiden Strukturen in Java in unseren Programmen gesehen, obwohl beide dazu dienen, Verhalten zu modellieren und zu definieren, wobei jedes seinen Platz hat. Wenn wir sie also besser kennen, können wir entscheiden, welche Verwenden Sie in unseren Programmen, die mit dieser Sprache erstellt wurden.