⊗jsOpBsGSA 18 of 60 menu

Avantajele setterelor și getterelor în OOP în JavaScript

În lecția anterioară am creat pentru fiecare proprietate un getter și un setter. Poate apărea întrebarea, de ce sunt necesare astfel de complexități, având în vedere că, practic, același efect poate fi obținut dacă proprietățile sunt făcute publice, nu private.

Faptul este că gettere și settere au un avantaj: înainte de a accesa proprietatea se pot efectua unele verificări. De exemplu, în cazul nostru, la scrierea nume și prenume putem verifica, că noua valoare nu este un șir gol:

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

Să verificăm cum funcționează acest lucru. Pentru început, să creăm un obiect al clasei:

let user = new User;

Acum să încercăm să scriem o valoare corectă:

user.setName('john');

Și acum să încercăm să scriem o valoare incorectă:

user.setName(''); // eroare

În clasa Employee în setter-ul vârstei faceți o verificare ca vârsta să fie de la 0 până la 120.

În clasa Employee în getter-ul salariului faceți astfel încât la citirea salariului la sfârșitul valorii sale să fie adăugat simbolul dolar.

Română
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Folosim cookie pentru funcționarea site-ului, analiză și personalizare. Prelucrarea datelor are loc în conformitate cu Politica de confidențialitate.
acceptă toate configurează respinge