Կոնստրուկտորը ժառանգման ժամանակ OOP-ում JavaScript-ում

Ժառանգման ժամանակ կարելի է վերագրել ծնողի կոնստրուկտորը: Դիտարկենք օրինակով: Ենթադրենք ունենք հետևյալ ծնողի դասը՝

javascriptclass User {
  constructor(name, surn) {
    this.name = name;
    this.surn = surn;
  }
  
  getName() {
    return this.name;
  }
  getSurn() {
    return this.surn;
  }
}

Ենթադրենք ծնողի դասից ժառանգում է հետևյալ դասը՝

javascriptclass Student extends User {
  
}

Ենթադրենք մենք ցանկանում ենք ժառանգ դասում ընդլայնել կոնստրուկտորը՝ ավելացնելով դրան լրացուցիչ պարամետրեր՝

javascriptclass Student extends User {
  constructor(name, surn, year) {
    
  }
}

Այս դեպքում մենք պարտադիր պետք է առաջին տողով կանչենք ծնողի կոնստրուկտորը super միջոցով՝

javascriptclass Student extends User {
  constructor(name, surn, year) {
    super();
  }
}

super հրամանը ըստ էության ծնողի կոնստրուկտորն է: Ուստի եկեք փոխանցենք դրան պահանջվող պարամետրերը՝

javascriptclass Student extends User {
  constructor(name, surn, year) {
    super(name, surn);
  }
}

Այժմ ժառանգում ուսման տարին գրենք ժառանգի սեփական հատկության մեջ՝

javascriptclass Student extends User {
  constructor(name, surn, year) {
    super(name, surn);
    this.year = year;
  }
}

Ստեղծենք գետտեր ուսման տարվա համար՝

javascriptclass Student extends User {
  constructor(name, surn, year) {
    super(name, surn);
    this.year = year;
  }
  
  getYear() {
    return this.year;
  }
}
Задание 1

Ենթադրենք Employee դասը ժառանգում է այս դասի User դասից։

Задание 2

Վերագրեք Employee դասում ծնողի կոնստրուկտորը՝ ավելացնելով դրան պարամետրեր տարիքի և աշխատավարձի համար։

Задание 3

Ստեղծեք գետտերներ տարիքի և աշխատավարձի համար։