⊗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çeOʻzbekTiếng Việt
Биз веб-сайт ишлаши, таҳлил қилиш ва персоналлаштириш учун кукидан фойдаланамиз. Маълумотларни қайта ишлаш Махфийлик сиёсатига мувофиқ амалга оширилади.
ҳаммасини қабул қилиш мослаштириш рад этиш