JavaScript-də KOH-də Köhnə Üsulla Məxfilik
Məxfi xassələrin və metodların elanı
# simvolu vasitəsilə JavaScript-də
çox yaxınlarda peyda oldu. Bundan əvvəl
xüsusi bir hiylə qəbulundan istifadə etmək
lazım gəlirdi.
Bu qəbulun mahiyyəti ondadır ki, məxfi xassələrin və metodların adlarının altxətt simvolu ilə başlaması barədə razılaşma olur. Əslində bu cür adlar məxfi olmayacaq, lakin biz razılaşırıq ki, onları sinifdən kənarda istifadə etməyəcəyik.
Gəlin yoxlayaq. Bu üsulla məxfi bir xassə yaradaq:
javascriptclass User {
constructor(name) {
this._name = name;
}
show() {
return this._name;
}
}
Sinifdən bir obyekt yaradaq:
javascriptlet user = new User('john', 'smit');
Xassəmizin dəyərini çıxaran metodu çağıraq:
javascriptconsole.log(user.show());
Xassəyə sinifdən kənardan müraciət etməyə cəhd xəta ilə nəticələnməyəcək:
javascriptconsole.log(user._name); // xəta yoxdur
Задание 1
Aşağıdakı kodda xassələri məxfi edin:
javascriptclass Employee {
constructor(name, salary) {
this._name = name;
this._salary = salary;
}
getName() {
return this._name;
}
getSalary() {
return this._salary;
}
}
Задание 2
Aşağıdakı kodda köməkçi metodu məxfi edin:
javascriptclass Employee {
constructor(name, salary) {
this.name = name;
this.salary = salary;
}
getSalary() {
return this._addSign(this.salary);
}
_addSign(num) {
return num + '$';
}
}