Thread Methodenaufruf anhand des Methodennamens "objektorientiert"
(8 answers)
Opened by Daniel at 2009-12-09 15:21 2009-12-09T19:07:39 betterworld Ich denke mal das liegt daran, dass auch ein "normaler" Aufruf der Form $object->method(...) eigentlich eine symbolische Referenz auflöst, da zum Zeitpunkt der semantischen Analyse nicht bekannt ist, in welchen Paketen method gesucht werden muss. Erst wenn der Aufruf tatsächlich ausgeführt wird, kann der Interpreter nachsehen, mit welchem Paket $object gesegnet wurde und dann die passende Methode in den relevanten Symboltabellen suchen. Es macht wohl weder vom Sicherheitsaspekt noch von der Ausführungsgeschwindigkeit her einen signifikaten Unterschied auch den Methodennamen aus einer Variablen zu nehmen — mit dem Paketnamen von dem aus die Methodensuche gestartet werden soll hat man ohnehin bereits einen Textbaustein, der den auszuführenden Code bestimmt und daher im Vorhinein geprüft werden sollte und das Nachschlagen geht nicht schneller, nur weil das Skalar mit dem Methodennamen darin konstant ist und zum Syntaxbaum des Programmes gehört. When C++ is your hammer, every problem looks like your thumb.
|