⊗jsOpBsGSA 18 of 60 menu

Setterių ir getterių pranašumai OOP JavaScripte

Ankstesnėje pamokoje mes sukūrėme kiekvienam savybei getterį ir setterį. Gali kilti klausimas, kam reikalingi tokie sudėtingumai, nes iš esmės to pačio efekto galima pasiekti, jei savybes padarytume viešas, o ne privačias.

Esmė ta, kad getteriai ir setteriai turi pranašumą: prieš kreipiantis į savybę galima atlikti tam tikrus patikrinimus. Pavyzdžiui, mūsų atveju, įrašant vardą ir pavardę, galime patikrinti, ar nauja reikšmė nėra tuščias eilutė:

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; } }

Patikrinkime, kaip tai veikia. Pirmiausia sukurkime klasės objektą:

let user = new User;

Dabar pabandykime įrašyti teisingą reikšmę:

user.setName('john');

O dabar pabandykime įrašyti neteisingą:

user.setName(''); // klaida

Klasėje Employee setteryje amžiaus atlikite patikrinimą, kad amžius turi būti nuo 0 iki 120.

Klasėje Employee getteryje atlyginimo padarykite taip, kad skaitant atlyginimą prie jo reikšmės galo būtų pridedamas dolerio ženklas.

Lietuvių
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mes naudojame slapukus svetainės veikimui, analizei ir personalizavimui. Duomenų apdorojimas vyksta pagal Privatumo politiką.
priimti visus nustatyti atšaukti