|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2005-10-20 19:54 UTC] tony2001@php.net
[2005-10-21 18:49 UTC] pa-engineer at web dot de
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Sat Nov 08 09:00:01 2025 UTC |
Description: ------------ Dieser Effekt hat weitreichende Konsequenzen f?r die Funktionst?chtigkeit von Methoden die wiederum Methoden desselben Objektes aufrufen, die unter dem Einfluss der Ableitung modifiziert werden k?nnten. Anstelle dessen: Basismethoden rufen auch Basismethoden auf, unber?hrt von einer Verdeckung durch eine abgeleitete Klasse. This Effect has a wide range of consequences in functionality of base methods whitch call methods of the same object, perhaps influenced by using modifikation in derived classes. Instead: base methods simply call base methods, untoughed by using a mask in derived classes. Reproduce code: --------------- class Class_A { public function Do_Something() { $this->Class_A_Method(); } public function Class_A_Method() { echo "Class_A"; } } class Class_B extends Class_A { public function Class_A_Method() { echo "Class_B"; } } $Instance = new Class_B(); $Instance->Do_Something(); Expected result: ---------------- Die Ausgabe hier ist offensichtlich "Class_B". Meine Erwartung, wie auch in anderen Sprachen: "Class_A". The Output in this case here is obviously "Class_B" My expectation, such as in other languages: "Class_A".