⊗tsSpOpAMPr 10 of 37 menu

Private-modifikaattori TypeScriptissä

Modifikaattoria private käytetään tilanteissa, joissa ominaisuuksien ja menetelmien käyttö on suljettava luokan ulkopuolelta. Tällöin jopa aliluokissa ei voida viitata kyseisiin ominaisuuksiin.

Katsotaan esimerkkiä. Tehdään luokkaan User yksityinen ominaisuus name:

class User { private name: string; constructor(name: string) { this.name = name; } }

Luodaan luokan olio välittämällä konstruktorille ominaisuutemme arvo:

let user: User = new User('john');

Nyt yritys lukea tämä yksityinen ominaisuus luokan ulkopuolella johtaa virheeseen:

console.log(user.name); // virhe

Myös yritys kirjoittaa jotain tähän ominaisuuteen luokan ulkopuolella johtaa virheeseen:

user.name = 'eric'; // virhe

Luokan menetelmien sisällä voidaan kuitenkin sekä lukea että muuttaa yksityisen ominaisuutemme arvoa:

class User { private name: string; constructor(name: string) { this.name = name; } public getName() { return this.name; // luetaan ominaisuus } public setName(name: string) { this.name = name; // kirjoitetaan uusi arvo ominaisuuteen } }

Tee luokka User, joka sisältää yksityiset ominaisuudet nimelle ja iälle. Alkuarvot asetetaan konstruktorin kautta.

Tee luokassasi User julkiset menetelmät getName ja getAge, jotka mahdollistavat vastaavien yksityisten ominaisuuksien arvojen saamisen.

Tee luokassasi User julkiset menetelmät setName ja setAge, jotka mahdollistavat vastaavien yksityisten ominaisuuksien arvojen muuttamisen.

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ää