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:
javascriptclass 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:
javascriptclass 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:
javascriptclass 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:
javascriptlet user = new User('john');
Wacha tuite mbinu ya umma, inayotumia mbinu ya kusaidia:
javascriptconsole.log(user.show());
Задание 1
Katika msimbo unaofuata, fanya mbinu ya kusaidia kuwa binafsi:
javascriptclass Employee {
constructor(name, salary) {
this.name = name;
this.salary = salary;
}
getSalary() {
return this.addSign(this.salary);
}
addSign(num) {
return num + '
;
}
}