⊗jsOpBsGSA 18 of 60 menu

Vantaggi dei setter e getter in OOP in JavaScript

Nella lezione precedente abbiamo creato un getter e un setter per ogni proprietà. Potrebbe sorgere la domanda: a cosa servono tali complicazioni, dato che sostanzialmente lo stesso effetto può essere ottenuto rendendo le proprietà pubbliche, anziché private.

Il punto è che i getter e i setter hanno un vantaggio: prima di accedere alla proprietà è possibile eseguire alcuni controlli. Ad esempio, nel nostro caso, quando impostiamo nome e cognome, possiamo verificare che il nuovo valore non sia una stringa vuota:

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

Verifichiamo come funziona. Per prima cosa creiamo un oggetto della classe:

let user = new User;

Ora proviamo a impostare un valore corretto:

user.setName('john');

E ora proviamo a impostare un valore non corretto:

user.setName(''); // errore

Nella classe Employee, nel setter dell'età, aggiungete un controllo per verificare che l'età deve essere compresa tra 0 e 120.

Nella classe Employee, nel getter dello stipendio, fate in modo che alla lettura dello stipendio, alla fine del suo valore venga aggiunto il simbolo del dollaro.

Italiano
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesia日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Utilizziamo i cookie per il funzionamento del sito, l'analisi e la personalizzazione. I dati vengono elaborati in conformità con la Politica sulla privacy.
accetta tutto personalizza rifiuta