374 Stimmen

Schnittstelle oder abstrakte Klasse: was ist zu verwenden?

Bitte erklären Sie mir, wann ich ein PHP-Programm verwenden sollte interface und wann sollte ich eine abstract class ?

Wie ich mein Leben ändern kann abstract class in eine interface ?

1voto

Umair Ahmed Punkte 2329

Ich wollte nur ein Beispiel dafür anführen, wann man beides verwenden muss. Ich schreibe derzeit einen Datei-Handler, der an ein Datenbankmodell in einer Allzweck-ERP-Lösung gebunden ist.

  • Ich habe mehrere abstrakte Klassen, die den Standard-Rohstoff und auch einige spezielle Funktionalität wie Konvertierung und Streaming für verschiedene Kategorien von Dateien behandeln.
  • Die Dateizugriffsschnittstelle definiert einen gemeinsamen Satz von Methoden, die zum Abrufen, Speichern und Löschen einer Datei erforderlich sind.

Auf diese Weise kann ich mehrere Vorlagen für verschiedene Dateien und einen gemeinsamen Satz von Schnittstellenmethoden mit klarer Unterscheidung verwenden. Die Schnittstelle bietet die korrekte Analogie zu den Zugriffsmethoden, was bei einer abstrakten Basisklasse nicht der Fall gewesen wäre.

Wenn ich in Zukunft Adapter für verschiedene Dateispeicherdienste entwickeln werde, wird diese Implementierung es ermöglichen, die Schnittstelle in völlig anderen Zusammenhängen zu verwenden.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X