peterS.: letzte Widerworte und meinetwegen auch EOT

Beitrag lesen

gruss Christoph,

Entschuldige bitte, aber dass, was du als Beispiel ablieferst, überzeugt
mich nur noch mehr von meinem Standpunkt, da du hier Funktionalität ...
(gestrichen) ... nachbauen musst, für die die Sprache keine syntaktische
Unterstützung liefert. ...

aber gerade diese flexibilitaet, *syntactic sugar*, wie Du es nennst,
jederzeit nachreichen zu koennen, macht doch das sprachkonzept so stark.

was Du vermisst, baust Du nach - natuerlich muss man absolut sattelfest
darin sein, wie [[Function]], [call], [apply], und [prototype] wirken,
bevor man, auf diesen grundkonzepten aufbauend, daran gehen kann, auch
noch damit zu zaubern.

... Ich habe die für die Vererbung relevanten Teile deines Codes mal
für mich verständlich aufgedröselt:

... code ...

Das funktioniert, hat aber den Nachteil, dass der Konstruktor Ancestor
während der Definition von Instance und nicht bei der Instanziierung
über new Instance ausgeführt wird. Daher bevorzuge ich folgende Variante:

Function.prototype.extend = function(ancestor) {/*
  ... code ...
*/
};

... noch mehr code ...

ja, ich mach das doch auch so, weil es sich in der anwendung schlussendlich
besser lesen laesst - genausogut liesse sich auch noch ein ...

Function.prototype.implements = function(interface/*:Function*/) {/*  
  ... code ...  
  */  
};

... schreiben. das von mir gegebene bsp. sollte doch nur schulmaessig die
prinzipielle machbarkeit zeigen, da auf diesem mit bordmitteln beschrittenen
weg die konzeption sichtbar bleibt und eben nicht hinter einer fassade versteckt
wird.

doch, das obige bsp. sollte das gegenteil beweisen.

Das würde ich nicht als syntaktische Unterstüzung bezeichnen, sondern als Workaround...

...

die nette syntax zaehlt aber nicht als argument ;-)

Doch. Sie ist das _einzige_ Argument, dass zählt, da sich in (fast) jeder Sprache
objektorientiert programmieren lässt !

mhh ... darueber muessen wir das kriegsbeil begraben.

ich mag nun mal puristisch ausgestattete werkzeugkaesten und friemelige handarbeit.

fuer 1) breche ich hier doch die ganze zeit immer wieder eine neue lanze.

Na dann sind wir uns ja eigentlich einig ; )

eben.

so long - peterS. - pseliger@gmx.net

--
»Because objects in JavaScript are so flexible, you will want to think differently about class hierarchies.
Deep hierarchies are inappropriate. Shallow hierarchies are efficient and expressive.« - Douglas Crockford
ie:( fl:) br:> va:( ls:& fo:) rl:) n3;} n4:} ss:} de:µ js:} mo:? zu:]