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 դասում աշխատավարձի գետտերում
կատարեք այնպես, որ
աշխատավարձը կարդալիս դրա
արժեքի վերջում ավելացվի դոլարի նշան: