Zarábaj až 6 000 € mesačne! Akreditované rekvalifikačné kurzy od 0 €. Viac informácií.

Diskusia – 9. diel - Dedičnosť a polymorfizmus v JavaScripte

Späť

Upozorňujeme, že diskusie pod našimi online kurzami sú nemoderované a primárne slúžia na získavanie spätnej väzby pre budúce vylepšenie kurzov. Pre študentov našich rekvalifikačných kurzov ponúkame možnosť priameho kontaktu s lektormi a študijným referentom pre osobné konzultácie a podporu v rámci ich štúdia. Toto je exkluzívna služba, ktorá zaisťuje kvalitnú a cielenú pomoc v prípade akýchkoľvek otázok alebo projektov.

Komentáre
Avatar
Kuty
Člen
Avatar
Kuty:17.11.2021 16:04

Ahoj!
Díky!
Předpokládám, že slovo super ukazuje vždy na nejbližšího předka. Jde se nějak odkázat i na prapředka, pokud jsem zdědil více než jedenkrát?

 
Odpovedať
17.11.2021 16:04
Avatar
Šimon Raichl
Tvůrce
Avatar
Odpovedá na Kuty
Šimon Raichl:17.11.2021 23:30

Ahoj, jsem rad, ze clanek pomohl. :) Jinak k tvemu dotazu, ano je to mozne, ale neni to uplne idealni reseni. Vesmes me napadaji dve podobne moznosti, ktere nakonec vedou ke stejnemu vysledku a dam ti nejaky priklad a vyuziju k tomu jiz napsane tridy z tohoto clanku.

Pojdme si vytvorit tridu VyhorelyProgra­mator, ktera bude dedit od tridy Programator a nadefinuji ji znovu metodu predstavSe s mirnymi upravami a zavolam zde metodu predstavSe primo ze tridy Clovek.

class VyhorelyProgramator extends Programator {
    predstavSe() {
        return `${Clovek.prototype.predstavSe.call(this)} ${this.programuj()} a uz mi to zacina lezt krkem.`;
    }
}

Je to spise dirty hack, neukazuji primo a prapredka, ale misto toho vezmu prototyp tridy Clovek a zavolam metodu predstavSe s tim, ze zde pri volani teto metody zde nabinduji primo instanci daneho VyhorelehoPro­gramatora, diky tomu zde budu mit k dispozici hodnoty ve vlastnostech dane instance.

Druhou moznosti je primo vytvorit instanci tridy Clovek a na ni zavolat metodu predstavSe s tim, ze pri volani metody zde opet nabindujes instanci VyhorelehoPro­gramatora. Jakou cestou se vydas je asi jedno, nakonec je to skoro to same.

new Clovek().predstavSe.call(this)
 
Odpovedať
17.11.2021 23:30
Avatar
Milan Kuča
Člen
Avatar
Milan Kuča:11.7.2023 18:47

super článek

Editované 11.7.2023 18:47
Odpovedať
11.7.2023 18:47
Když chci, tak se neptám jestli můžu.
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zatiaľ nikto nevložil komentár - buď prvý!