JavaScript-daky OOP-de köne usulda hususylyk
Hususy häsiýetleri we usullary
# nyşany arkaly kesgitlemek
JavaScript-e ýakynda wagtda girdi.
Ondan öň aýratyn çylşyrymly
usul ulanmak zerurdy.
Bu usulyň esasy, hususy häsiýetleriň we usullaryň atlarynyň aşaky çyzyk bilen başlamaly diýen ylalaşykda. Aslynda şeýle atlar hususy bolmaz, ýöne klasyň daşyndan olary ulanmazlyk barada ylalaşýarys.
Gelin synap göreli. Şeýle usulda hususy häsiýet döredeliň:
class User {
constructor(name) {
this._name = name;
}
show() {
return this._name;
}
}
Klasyň obýektini döredeliň:
let user = new User('john', 'smit');
Häsiýetimiziň bahasyny görkezýän usuly çagyralyň:
console.log(user.show());
Häsiýete klasyň daşyndan ýüz tutmak ýalňyşlyga getirmez:
console.log(user._name); // ýalňyşlyk ýok
Aşakdaky koda häsiýetleri hususy ediň:
class Employee {
constructor(name, salary) {
this.name = name;
this.salary = salary;
}
getName() {
return this.name;
}
getSalary() {
return this.salary;
}
}
Aşakdaky koda kömekçi usuly hususy ediň:
class Employee {
constructor(name, salary) {
this.name = name;
this.salary = salary;
}
getSalary() {
return this.addSign(this.salary);
}
addSign(num) {
return num + '
;
}
}