JavaScript'теги ООП'деги эски стилдеги купуялуулук
# белгиси аркылуу купуя касиеттер менен методдорду
жарыялоо JavaScript'те жаңы эле пайда болду.
Мурун атайын татаал ыкманы колдонууга туура келчү.
Бул ыкманын мәниси - купуя касиеттер менен методдордун аталыштары тилке (_) белгисинен баштоосу керек деген келишимге негизделген. Чынында, мындай аталыштар купуя болбойт, бирок биз сырттан класс ичинде колдонбошубуз үчүн келишип алабыз.
Келгиле, ушундай стилде купуя касиет жасайлы:
class User {
constructor(name) {
this._name = name;
}
show() {
return this._name;
}
}
Класс объектин түзөлү:
let user = new User('john', 'smit');
Биздин касиеттин маанисин чыгаруучу методду чакалы:
console.log(user.show());
Сырттан класс ичиндеги касиетке кайрылуу атаандаштыкка алып келбейт:
console.log(user._name); // атаандаштык жок
Төмөнкү коддо касиеттерди купуя кылыңыз:
class Employee {
constructor(name, salary) {
this.name = name;
this.salary = salary;
}
getName() {
return this.name;
}
getSalary() {
return this.salary;
}
}
Төмөнкү коддо жардамчы методду купуя кылыңыз:
class Employee {
constructor(name, salary) {
this.name = name;
this.salary = salary;
}
getSalary() {
return this.addSign(this.salary);
}
addSign(num) {
return num + '$';
}
}