zdrc
Dedil jste nekdo v JavaScriptu? How to extend co nejelegantneji?
A)
AncestorFc.prototype = new BaseFc();
--
Tohle ma nevyhodu, pokud BaseFc() ocekava nejake parametry: problem nastane v okamzik, kdy s temi vstupnimi hodnotami chce BaseFc() manipulovat.
B)
AncestorFc.prototype = BaseFc.prototype;
--
Vyse zminena nevyhoda odpada. Ale je tu jina: predava se reference na prototype, takze override fce v potomkovi ve skutecnosti zmeni fci uz v zakladni "tride".
Napadaji me dve reseni:
1) osetrit konstruktor vsech zakladnich trid, aby pocital s moznosti chybejicich parametru
2) napsat nejakou fci extend(BaseFc.prototype), ktera pomoci for(field in BaseFc.prototype) vsechny cleny/fce do nove tridy z te puvodni nakopiruje
Oboji je "takovy divny", a treba nekdo zna elegeantnejsi reseni ... ?
bye