Zasebne metode v OOP v JavaScript
Zasebne so lahko ne le lastnosti, ampak tudi metode. Običajno so zasebne pomožne metode, da jih po naključju ni mogoče poklicati izven razreda.
Poglejmo si na primeru. Recimo, da imamo naslednji razred:
class User {
#name;
constructor(name) {
this.#name = name;
}
show() {
return this.#name;
}
}
Naredimo v tem razredu zasebno metodo, ki bo kot parameter sprejela niz in naredila prvo črko veliko:
class User {
#name;
constructor(name) {
this.#name = name;
}
show() {
return this.#name;
}
#cape(str) {
return str[0].toUpperCase() + str.slice(1);
}
}
Uporabimo našo pomožno metodo znotraj druge metode:
class User {
#name;
constructor(name) {
this.#name = name;
}
show() {
return this.#cape(this.#name);
}
#cape(str) {
return str[0].toUpperCase() + str.slice(1);
}
}
Preverimo. Ustvarimo objekt našega razreda:
let user = new User('john');
Pokličimo javno metodo, ki uporablja pomožno:
console.log(user.show());
V naslednji kodi naredite pomožno metodo zasebno:
class Employee {
constructor(name, salary) {
this.name = name;
this.salary = salary;
}
getSalary() {
return this.addSign(this.salary);
}
addSign(num) {
return num + '€';
}
}