⊗jsOpBsGSA 18 of 60 menu

Предности сетера и гетера у ООП-у у JavaScript-у

У претходној лекцији смо направили за свако својство гетер и сетер. Може се поставити питање, чему су потребне такве компликације, јер фактички истог ефекта се може постићи ако се својства направе јавним, а не приватним.

Ствар је у томе што гетери и сетери имају предност: пре приступа својству се могу извршити неке провере. На пример, у нашем случају при упису имена и презимена можемо проверити, да нова вредност није празан стринг:

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

Хајде да проверимо како ово функционише. За почетак направимо објекат класе:

let user = new User;

Сада покушајмо да упишемо коректну вредност:

user.setName('john');

А сада покушајмо да упишемо некоректну:

user.setName(''); // грешка

У класи Employee у сетеру године направите проверу на то, да старост треба да буде од 0 до 120.

У класи Employee у гетеру плате направите тако да при читању плате на крај њене вредности буде додат знак долара.

Српски
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Користимо колачиће за рад сајта, аналитику и персонализацију. Обрада података се врши у складу са Политиком приватности.
прихвати све подеси одбиј