Cum se invocă metoda obiectului strămoșilor de la o metodă obiect copil

Există un obiect utilizator creat dintr-un alt obiect. Acest obiect conține o metodă moștenită de la obiectul strămoșilor, dar redefinită în propria sa implementare. (După cum știm, acest lucru se realizează prin atribuirea diferitelor funcții în proprietatea corespunzătoare a obiectului descendent.) Este posibil să suprascrie metoda de la un descendent cumva cauza stramosul metoda originala?







1. În definiția obiectului descendent, vom crea o altă proprietate și o vom numi, de exemplu, următoarea schemă: <Имя объекта-предка>_<Имя переопределяемого метода>.

2. Atribuiți acestei proprietăți o valoare a proprietății corespunzătoare metodei de suprascriere.

3. Atribuiți proprietatea corespunzătoare metodei de suprascriere funcției care conține noua implementare a acestei metode.

4. Dacă trebuie să ne referim la metoda originală a strămoșului, îl numim pur și simplu folosind proprietatea creată mai devreme <Имя объекта-

strămoș> _<Имя переопределяемого метода>.

Să rescrie definiția obiectului punct2, astfel încât fsetcoords2 funcția, care deține în proprietățile x și y valorile coordonatelor folosite pentru această funcție „vechi“ fsetcoords.







this.base = Punctul; this.base (ix, iy); this.color = icolor;

this.Point_setCoords = this.setCoords; this.setCoords = fSetCoords2;>

// O expresie care face obiectul Point un strămoș al obiectului Point2 Point2.prototype = new Point;

this.Point_setCoord (ix, iy); this.color = 0;>

Cum pot adăuga proprietăți și metode noi unui obiect existent?

Am scris o funcție excelentă pentru lucrul cu șiruri de caractere. Pot să o adaug la un obiect de șir existent ca metodă?

Nimic nu este mai ușor! Sintaxa pentru crearea unei noi proprietăți sau a unei metode pentru un obiect existent este:

<Объект>.prototip.<Имя свойства> = <3начение свойства>;

<Объект>.prototip.<Имя метода> = <Функция, реализующая этот метод>;

Mai târziu, în această carte, vom lista metodele trimLeft și trimRight, eliminând spațiile de conducere și trailing din rândul respectiv. Pentru a adăuga aceste metode la obiectul șir, s-au folosit următoarele expresii:

String.prototype.trimLeft = mjspsTrimLeft; String.prototype.trimRight = mjspsTrimRight;

Aici, mjspsTrimLeft și mjspsTrimRight sunt funcții care implementează aceste metode (acestea vor fi descrise mai târziu).

Cum în corpul unei metode adăugate unui obiect String, Number sau Boolean accesați valoarea acestui obiect?

<Переменная> = nou <Имя стандартного объекта>(Acest lucru);

var objValue = nou Număr (acest);

Evaluarea expresiei de mai sus într-o singură variabilă ar objvalue valoare numerică în obiect Number exemplu, adică. E. O variabilă numerică.







Articole similare

Trimiteți-le prietenilor: