Christian S.: Performance bei Vererbung.

Beitrag lesen

Hi,

ich habe gerade diesen Artikel gelesen.

Er beschreibt, wie Vererbung im MS ASP.NET Ajax Framework funktioniert.

kurz gesagt: es werden per for-in Schleife alle members des prototype Objekts der Basisklasse runter kopiert, in den prototype der Kindklasse (rekursiv).
(siehe Listing 6).

Ich kenne Vererbung eher so: this.prototype = new baseClass();

Weiter unten steht dann:

===

Why are the properties copied from the parent constructor function’s prototype to the current prototype? In other words, why are the prototypes flattened? Presumably, for reasons of performance. If all of the properties are copied to the lowest prototype in the prototype chain, then the prototype chain never needs to be climbed to resolve the value of any property.

===

Was ist an dieser Aussage dran? Laufen meine Skripte schneller, wenn ich die dort verwendete Methode benutze? Dauert es wirklich länger, wenn man die "prototype-Chain" abklappern muss? Also wenn man an einem Objekt eine Methode aufruft, die irgendwo weit oben in einem Basis-protoype steckt.

Dauert dafür der Vererbevorgang vielleicht länger (wegen der for-in Schleife)?

Gruß!