⊗jsOpBsGSA 18 of 60 menu

Prednosti setera i getera u OOP-u u JavaScript-u

U prethodnoj lekciji smo napravili geter i seter za svako svojstvo. Može se postaviti pitanje, čemu su potrebne takve komplikacije, jer se zapravo istog efekta može postići ako se svojstva naprave javnim, a ne privatnim.

Stvar je u tome što geteri i seteri imaju prednost: pre pristupa svojstvu mogu se izvršiti neke provere. Na primer, u našem slučaju pri upisu imena i prezimena možemo proveriti da li nova vrednost nije prazan 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; } }

Hajde da proverimo kako ovo radi. Za početak kreirajmo objekat klase:

let user = new User;

Sada pokušajmo da upišemo korektnu vrednost:

user.setName('john');

A sada pokušajmo da upišemo nekorektnu:

user.setName(''); // greška

U klasi Employee u seteru godina uradi proveru da godine moraju biti od 0 do 120.

U klasi Employee u geteru plata napravi tako da pri čitanju plate na kraj njene vrednosti bude dodat znak dolara.

Srpski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Koristimo kolačiće za rad sajta, analitiku i personalizaciju. Obrada podataka se vrši u skladu sa Politikom privatnosti.
prihvati sve podesi odbij