⊗jsOpIhPrM 34 of 60 menu

Yksityiset menetelmät perinnässä OOP:ssa JavaScriptissä

Yksityisiä menetelmiä ei periydy. Tämä on tehty tarkoituksella, jotta kapselointia ei rikota. Katsotaanpa esimerkkiä. Olkoon meillä seuraava vanhemman luokka, jossa on yksityinen menetelmä:

class User { setName(name) { this.name = name; } getName() { return this.#capeFirst(this.name); } #capeFirst(str) { return str[0].toUpperCase() + str.slice(1); } }

Olkoon vanhemmasta luokasta perii seuraava luokka:

class Student extends User { setSurn(surn) { this.surn = surn; } getSurn() { return this.surn; } }

Olkoon jälkeläinen haluaa käyttää vanhemman yksityistä menetelmää. JavaScript ei salli tätä ja antaa virheen:

class Student extends User { setSurn(surn) { this.surn = surn; } getSurn() { return this.#capeFirst(this.surn); // tulee virhe } }

Kokeile luokassa Employee käyttää vanhemman yksityistä menetelmää.

Suomi
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Käytämme evästeitä verkkosivuston toiminnalle, analytiikalle ja personoinnille. Tietojen käsittely tapahtuu Tietosuojakäytännön mukaisesti.
hyväksy kaikki mukauta hylkää