Ծնողի մեթոդների վերասահմանումը OOP-ում JavaScript-ում

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

javascriptclass User {
  setName(name) {
    this.name = name;
  }
  getName() {
    return this.name;
  }
}

Ենթադասում ստեղծենք նույնանուն մեթոդ.

javascriptclass Student extends User {
  setName(name) {
    
  }
}

Որպես կանոն, ծնողի մեթոդների վերասահմանումը անհրաժեշտ է այդ մեթոդի վարքագիծը փոխելու կամ լրացնելու համար: Մեր դեպքում ավելացնենք անվան երկարության ստուգում.

javascriptclass Student extends User {
  setName(name) {
    if (name.length > 0) {
      this.name = name;
    } else {
      throw new Error('student name error');
    }
  }
}

Համոզվենք, որ կանչվում է հենց վերասահմանված մեթոդը: Սկզբում ստեղծենք ենթադասի օբյեկտ.

javascriptlet student = new Student;

Այժմ կանչենք մեր մեթոդը՝ նրան փոխանցելով ճիշտ արժեք.

javascriptstudent.setName('john');

Այժմ կանչենք մեթոդը՝ փոխանցելով նրան սխալ արժեք: Արդյունքում կոնսոլում կտեսնենք նետված սխալի հաղորդագրություն.

javascriptstudent.setName(''); // սխալ
Задание 1

User դասում ստեղծեք tառուի գետեր և սետեր:

Задание 2

Employee դասում վերասահմանեք tառուի սետերը և դրանում ավելացրեք ստուգում, որ տարիքը 18-ից 65 տարեկան է: