Ich merke, dass, wenn ich eine Methode als abstrakt definieren, die Signatur der untergeordneten Klassen damit kompatibel sein muss. Dies beraubt mich der Gelegenheit, die Typüberprüfung in der Unterschrift der Kindklasse zu verwenden.PHP abstrakte Methode im Vergleich zu Standardmethode
Wenn ich die übergeordnete Methode als eine konkrete Methode mit einer Standardimplementierung definiere, kann ich dann die übergeordnete Methode überschreiben, ohne ihre Schnittstelle zu beachten.
In Fällen, in denen eine geeignete Standardimplementierung existiert, bin ich geneigt, den zweiten Ansatz zu verwenden. Aber lasse ich mich in Schwierigkeiten hineinfallen?
Es scheint mir nur seltsam, dass die Verwendung von ‚abstrakt‘, so einschränkend sein kann, so möchte ich wissen, ob ich etwas fehlt ...
Hinweis - ich sehe, dass ähnliche Fragen gestellt wurden in Bezug auf andere Sprachen, aber nicht so sehr PHP.
Eigentlich ist es nur eine gute Praxis, dass Sie die Schnittstelle respektieren. http://en.wikipedia.org/wiki/Liskov_substitution_principle – zerkms