⊗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ščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние използваме бисквитки за работата на сайта, анализ и персонализация. Обработката на данни се извършва в съответствие с Политика за поверителност.
приемам всички настройки отхвърляне