Ծնողի մեթոդների վերասահմանումը OOP-ում JavaScript-ում
Ենթադասը կարող է վերասահմանել ծնողի մեթոդը՝ ստեղծելով նույն անունով մեթոդ: Դիտարկենք օրինակով: Ենթադրենք՝ ունենք հետևյալ ծնողական դասը՝
class User {
setName(name) {
this.name = name;
}
getName() {
return this.name;
}
}
Ենթադասում ստեղծենք նույնանուն մեթոդ.
class Student extends User {
setName(name) {
}
}
Որպես կանոն, ծնողի մեթոդների վերասահմանումը անհրաժեշտ է այդ մեթոդի վարքագիծը փոխելու կամ լրացնելու համար: Մեր դեպքում ավելացնենք անվան երկարության ստուգում.
class Student extends User {
setName(name) {
if (name.length > 0) {
this.name = name;
} else {
throw new Error('student name error');
}
}
}
Համոզվենք, որ կանչվում է հենց վերասահմանված մեթոդը: Սկզբում ստեղծենք ենթադասի օբյեկտ.
let student = new Student;
Այժմ կանչենք մեր մեթոդը՝ նրան փոխանցելով ճիշտ արժեք.
student.setName('john');
Այժմ կանչենք մեթոդը՝ փոխանցելով նրան սխալ արժեք: Արդյունքում կոնսոլում կտեսնենք նետված սխալի հաղորդագրություն.
student.setName(''); // սխալ
User դասում ստեղծեք
tառուի գետեր և սետեր:
Employee դասում վերասահմանեք
tառուի սետերը և դրանում ավելացրեք
ստուգում, որ տարիքը
18-ից 65 տարեկան է: