JavaScript'те ООП'до корголулгон методдорду коргоо
Жеке методдор мурасталбайт жана класстан сырткары көрүнбөйт. Бирок, кээде мурасталып, бирок класстан сырткары көрүнбөгөн методдор керек болот. Мындай методдор корголулган (protected) деп аталат. Тилекке каршы, JavaScript мындай методдорду колдобойт.
Ошондуктан мен мындай методдорду түзүүгө мүмкүндүк берген келишимди сунуш кылам. Биз мындай методдордун аталышын асты сызык менен баштайбыз. Негизинен, биз эски жалпы кабыл алынган жабык методдор жөнүндөгү келишти колдонобуз. Алар мурасталгандыгын билдирүү үчүн гана корголулган деп атайбыз, бирок биз аларды сырттан колдонбойбуз. Чынында, эски келишим боюнча да ушундай колдонулат.
Ошентип, корголулган методу бар ата-классты жазалы:
class User {
setName(name) {
this.name = name;
}
getName() {
return this._capeFirst(this.name);
}
_capeFirst(str) {
return str[0].toUpperCase() + str.slice(1);
}
}
Бул корголулган методду тукум класста колдонолу:
class Student extends User {
setSurn(surn) {
this.surn = surn;
}
getSurn() {
return this._capeFirst(this.surn);
}
}
Төмөнкү коддо жардамчы методу корголулган кылыңыз:
class User {
setName(name) {
if (this.notEmpty(name)) {
this.name = name;
}
}
getName() {
return this.name;
}
notEmpty(str) {
return str.length > 0;
}
}
class Employee extends User {
setSurn(surn) {
if (this.notEmpty(surn)) {
this.surn = surn;
}
}
getSurn() {
return this.surn;
}
}