
Lernpfad "Vererbung I"
Du hast eine Superklasse in einem Framework gefunden, die du für dein Projekt einsetzen und deshalb vererben möchtest. Diese Klasse passt eigentlich perfekt, mit Ausnahme einer Methode, die einfach nicht deinen Ansprüchen genügt. Theoretisch könntest du jetzt Einfluss nehmen im Code der Superklasse und die Methode hacken. Das empfiehlt sich aber nicht, denn jedes Mal, wenn du ein Update vom Framework vornimmst, musst du dich daran erinnern, den Hack wieder vorzunehmen.
Viel einfacher ist es, besagte Methode in der Superklasse in Ruhe zu lassen und in deiner Subklasse einen Override vorzunehmen.
WasBinIch() wäre hier somit sinnlos.Bakterie, und aus dem oben erwähnten Grund überschreiben wir hier die Methode WasBinIch() der Superklasse, wir geben der Methode sozusagen einen neuen Zweck, der nur für die Bakterie zur Anwendung kommt.WasBinIch() der Superklasse soll also ausser Kraft gesetzt werden.override nichtOverrides kann man in PHP ganz leicht notieren. Es genügt bereits, dass die Methode der Subklasse den gleichen Namen und die gleichen Parameter wie die zu überschreibende Methode der Superklasse hat (d. h. sie müssen die gleiche "Signatur" haben).
In anderen Programmiersprachen müsste man die überschreibende Methode explizit mit dem Schlüsselwort override kennzeichnen. PHP kennt dieses Wort jedoch nicht.
Weil dies so einfach geht, sind Missverständnisse jedoch vorprogrammiert! Verzichte wenn möglich auf dieses Konzept, oder kommentiere aus diesem Grund overrides gut, falls du sie wirklich brauchst!