⊗jsOpBsGSA 18 of 60 menu

Setterite ja getterite eelised OOP-s JavaScriptis

Eelmises tunnis tegime iga atribuudi jaoks getteri ja setteri. Võib tekkida küsimus, miks sellised keerukused on vajalikud, kuna tegelikult sama efekti saavutame, kui teeme atribuudid avalikeks, mitte privaatseteks.

Asi on selles, et getteritel ja setteritel on eelis: enne atribuudi poole pöördumist saab teha mõningaid kontrollimisi. Näiteks meie puhul saame nime ja perekonnanime kirjutamisel kontrollida, et uus väärtus ei oleks tühi string:

class User { #name; #surn; setName(name) { if (name.length > 0) { this.#name = name; } else { throw new Error('name is incorrect'); } } setSurn(surn) { if (surn.length > 0) { this.#surn = surn; } else { throw new Error('surn is incorrect'); } } getName() { return this.#name; } getSurn() { return this.#surn; } }

Kontrollime, kuidas see töötab. Kõigepealt loome klassi objekti:

let user = new User;

Nüüd proovime kirjutada korrektset väärtust:

user.setName('john');

Nüüd proovime kirjutada ebakorrektset:

user.setName(''); // viga

Klassis Employee tehke vanuse setteris kontroll, et vanus peaks olema 0 kuni 120 vahel.

Klassis Employee tehke palga getteris nii, et palga lugemisel lisataks selle väärtuse lõppu dollari märk.

Eesti
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Me kasutame saidi toimimiseks, analüüsi ja personaliseerimiseks küpsiseid. Andmete töötlemine toimub vastavalt Privaatsuspoliitikale.
nõustu kõigega häälesta keeldu