Privačiuos metodai OOP JavaScripte
Privatūs gali būti ne tik savybės, bet ir metodai. Paprastai privatūs daro pagalbinius metodus, kad jie netyčia negalėtų būti iškviesti iš klasės išorės.
Pažiūrėkime pavyzdžiu. Tegul mes turime šią klasę:
javascriptclass User {
#name;
constructor(name) {
this.#name = name;
}
show() {
return this.#name;
}
}
Padarykime šioje klasėje privatų metodą, kuris parametru priims eilutę ir padarys pirmąją jos raidę didžiąja:
javascriptclass User {
#name;
constructor(name) {
this.#name = name;
}
show() {
return this.#name;
}
#cape(str) {
return str[0].toUpperCase() + str.slice(1);
}
}
Panaudokime savo pagalbinį metodą kito metodo viduje:
javascriptclass User {
#name;
constructor(name) {
this.#name = name;
}
show() {
return this.#cape(this.#name);
}
#cape(str) {
return str[0].toUpperCase() + str.slice(1);
}
}
Patikrinkime. Sukurkime mūsų klasės objektą:
javascriptlet user = new User('john');
Iškvieskime viešąjį metodą, kuris naudoja pagalbinį:
javascriptconsole.log(user.show());
Задание 1
Šiame kode padarykite pagalbinį metodą privačiu:
javascriptclass Employee {
constructor(name, salary) {
this.name = name;
this.salary = salary;
}
getSalary() {
return this.addSign(this.salary);
}
addSign(num) {
return num + '€';
}
}