Mbinu Binafsi katika OOP katika JavaScript
Si tu sifa tu ambazo zinaweza kuwa binafsi, lakini pia mbinu. Kawaida mbinu za kusaidia hufanywa kuwa binafsi, ili zisitiewezekane kuitwa ngeni ya darasa.
Wacha tuangalie kwa mfano. Wacha tuseme tuna darasa lifuatalo:
class User {
#name;
constructor(name) {
this.#name = name;
}
show() {
return this.#name;
}
}
Wacha tufanye mbinu binafsi katika darasa hili, ambayo itachukua kamba kama parameta na kuifanya herufi kubwa ya kwanza iwe kubwa:
class User {
#name;
constructor(name) {
this.#name = name;
}
show() {
return this.#name;
}
#cape(str) {
return str[0].toUpperCase() + str.slice(1);
}
}
Wacha tutumie mbinu yetu ya kusaidia ndani ya mbinu nyingine:
class User {
#name;
constructor(name) {
this.#name = name;
}
show() {
return this.#cape(this.#name);
}
#cape(str) {
return str[0].toUpperCase() + str.slice(1);
}
}
Wacha tuangalie. Wacha tuunde kitu cha darasa letu:
let user = new User('john');
Wacha tuite mbinu ya umma, inayotumia mbinu ya kusaidia:
console.log(user.show());
Katika msimbo unaofuata, fanya mbinu ya kusaidia kuwa binafsi:
class Employee {
constructor(name, salary) {
this.name = name;
this.salary = salary;
}
getSalary() {
return this.addSign(this.salary);
}
addSign(num) {
return num + '
;
}
}