Hello,
ist es möglich dieselbe Funktion in mehreren Klassen zu integrieren?
Klassen haben Methoden. Dieselbe Methode in mehreren Klassen zu haben ist möglich, aber nicht wirklich sinnvoll: don't repeat yourself!
Dieselbe nicht, aber die Gleiche ist schon sinnvoll und durchaus üblich in der OOP.
Damit wäre einer der Hauptvorteile der OOP für die Katz - in der Praxis wird leider zu oft mit Copy&Paste-Orgien die selbe Logik an vielen Stellen implementiert. Wenn man "don't repeat yourself" einigermaßen ernst nimmt, kann man eine Menge an Codebasis einsparen. Das war mein Punkt.
Ich denke da im einfachsten Fall an toString().
Die Implementierung von toString() (oder hier im PHP-Kontext als Interzeptor __toString() ) ist durchaus sehr differenziert - der Sinn dieser Methode besteht doch gerade darin, *unterschiedlichste* Objekte als String zu repräsentieren. Dies erfordert auch eine unterschiedliche Implementierung der Methode.
Deshalb ist es auch nur die gleiche Methode und nicht dieselbe.
Die zu erstellende und in der Prototypklasse deshalb obligatorisch deklarierte Methode muss in der eigentlichen Klasse definiert werden. Sie hat dieselbe Wirkung zu zeigen, wie die gleichlautenden Methoden in allen anderen (davon abgeleiteten) Klassen, muss aber auf das Objekt angepasst werden.
Sonst könnte man ja außer der Deklaration auch gleich die Definition vererben.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg