Կոնստրուկտորը ժառանգման ժամանակ OOP-ում 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 դասում
ծնողի կոնստրուկտորը՝ ավելացնելով դրան
պարամետրեր տարիքի և աշխատավարձի համար։
Ստեղծեք գետտերներ տարիքի և աշխատավարձի համար։