Jestem trochę pod łamany wiem że to proste ale jakoś nie rozumiem.
Mam nadzieje że dobrze wkleiłem kod JS
function Figura() {} Figura.prototype.nazwa = 'figura'; Figura.prototype.toString = function() { var wynik = []; if (this.constructor.uber) { wynik[wynik.length] = this.constructor.uber.toString(); } wynik[wynik.length] = this.nazwa; return wynik.join(', '); }; function Figura2D(){} F.prototype = Figura.prototype; Figura2D.prototype = new F(); Figura2D.prototype.constructor = Figura2D; Figura2D.prototype.nazwa = 'figura 2D'; Figura2D.uber = Figura.prototype; function Trójkąt(bok, wysokość) { this.bok = bok; this.wysokość = wysokość; } F.prototype = Figura2D.prototype; Trójkąt.prototype = new F(); Trójkąt.prototype.constructor = Trójkąt; Trójkąt.uber = Figura2D.prototype; Trójkąt.prototype.nazwa = 'Trójkąt'; Trójkąt.prototype.getArea = function(){return this.bok * this.wysokość / 2;}; var my = new Trójkąt(20,3); my.toString();
Dziękuje za okazane zainteresowanie.
nie rozumiem jak działa ta super klasa uber.
mamy tak
w aktualnyElement.constructor.uber pojawia mi się prototyp ojca, ok to rozumiem (...?) proste.
zaś jeśli aktualnyElement.constructor.uber.toString wyskakuje mi także inne 'pra' prototypy.
Proszę o udzielenie wskazówek na jakiej zasadzie działa toString i o co chodzi w tych super clasach w JS.
Ewentualnie odsyłacz do najlepiej polskiego 'tutorialu'.