Wann sollten Sie eine abstrakte Klasse und wann eine Schnittstelle in Java verwenden?

1 Antworten


  • Eine abstrakte Klasse ist eine Klasse, die nur erstellt wurde, um die Elternklasse für mehrere Unterklassen zu sein und einige gemeinsame Methoden und Attribute zu definieren, die die Unterklassen erben. Wir werden niemals ein Objekt aus einer abstrakten Klasse erstellen, es ist ein Ausgangspunkt, von dem aus wir andere Klassen erstellen (die instanziiert werden können).

    Wenn Sie beispielsweise eine Bank modellieren, erstellen Sie eine abstrakte Klasse namens Konto und dann Unterklassen wie Sparkonto, Einlagenkonto, Geschäftskonto. Die abstrakte Klasse kann einige abstrakte Methoden und einige reale Methoden sowie einige Attribute haben.

    Interfaces sind abstrakten Klassen sehr ähnlich, mit einem wichtigen Unterschied - ALLE seine Methoden müssen abstrakt sein, sie haben KEINEN Körper, nur einen Namen, eine Parameterliste und einen Ergebnistyp. Wenn etwas von einer Schnittstelle erbt, müssen Sie den Rumpfcode der abstrakten Methoden in der Schnittstelle definieren. Eine Schnittstelle ist im Grunde eine Vorlage, die auf das Hinzufügen von Details wartet. Wenn eine andere Klasse eine Schnittstelle implementiert, sagen Sie: "Ich werde all diese leeren Methoden verwenden, aber für jede einzelne meinen eigenen Body-Code schreiben". In einer abstrakten Klasse kann es bereits Body-Code geben.

Schreibe deine Antwort

Ihre Antwort erscheint nach der Moderation appear