Աբստրակտ մեթոդները OOP-ում TypeScript-ում
Լինում է, որ ժառանգ դասերը պետք է ունենան
ընդհանուր մեթոդ, սակայն այդ մեթոդի իրականացումը
կախված է կոնկրետ ժառանգից: Այս
դեպքում այս մեթոդը կարելի է հայտարարել
ծնողի աբստրակտ դասում, առանց գրելու
դրա իրականացումը: Եվ ապա ժառանգները կլինեն
պարտավոր իրականացնել այդ մեթոդները: Յուրաքանչյուր
մեթոդ կոչվում է աբստրակտ և
նաև հայտարարվում է օգտագործելով abstract
բանալի բառը:
Օրինակի համար վերցնենք մեր աբստրակտ
դասը User: Թող այս դասի
ժառանգները պարտադիր ունենան show մեթոդը,
որը արտածում է օբյեկտի տվյալները:
Այս մեթոդի իրականացումը, սակայն, կախված կլինի
ժառանգից: Եկեք User դասում
հայտարարենք այս մեթոդը որպես աբստրակտ:
abstract class User {
public name: string;
constructor(name: string) {
this.name = name;
}
public abstract show(): string;
}
Իրականացնենք այս մեթոդը Student ժառանգ դասում:
class Student extends User {
public course: number;
constructor(name: string, course: number) {
super(name);
this.course = course;
}
show() {
return this.name + ' ' + this.course;
}
}
Իրականացնենք այս մեթոդը Employee ժառանգ դասում:
class Employee extends User {
public salary: number;
constructor(name: string, salary: number) {
super(name);
this.salary = salary;
}
show() {
return this.name + ' ' + this.salary;
}
}
Figure աբստրակտ դասում ստեղծեք
աբստրակտ մեթոդներ մակերեսը և
պարագիծը ստանալու համար:
Square և
Rectangle ժառանգ դասերում գրեք այդ
մեթոդների իրականացումը: