JavaScript'те ООП'де мураска конструктор
Мураска чыгарганда ата-эненин конструкторун кайра аныктоого болот. Келгиле, мисал менен карап көрөлү. Ата-эне классы төмөнкүдөй болсун:
class User {
constructor(name, surn) {
this.name = name;
this.surn = surn;
}
getName() {
return this.name;
}
getSurn() {
return this.surn;
}
}
Ата-эне класстан төмөнкү класс мурастап алсын:
class Student extends User {
}
Эми биз муун классында конструкторду кеңейтип, ага кошумча параметрлерди кошкубуз келет дейли:
class Student extends User {
constructor(name, surn, year) {
}
}
Бул учурда биз биринчи сапта super аркылуу
ата-эненин конструкторун чакырууга милдеттүүбүз:
class Student extends User {
constructor(name, surn, year) {
super();
}
}
super командасы негизинен ата-эненин
конструктору болуп саналат. Ошондуктан ага керектүү
параметрлерди берели:
class Student extends User {
constructor(name, surn, year) {
super(name, surn);
}
}
Эми муунда окуу жылын муундун өз касиетине жазалы:
class Student extends User {
constructor(name, surn, year) {
super(name, surn);
this.year = year;
}
}
Окуу жылы үчүн геттер жасалы:
class Student extends User {
constructor(name, surn, year) {
super(name, surn);
this.year = year;
}
getYear() {
return this.year;
}
}
Employee класстын бул сабактагы
User класстан мурастап алсын.
Employee классында ата-эне конструкторун
жаш жана эмгек акы параметрлерин кошуп кайра аныктагыла.
Жаш жана эмгек акысы үчүн геттерлерди жасагыла.