Աբստրակտ OOP դասերը TypeScript-ում
Լինում են իրավիճակներ, երբ մենք ունենք ծնող դաս, որը պարունակում է ընդհանուր հատկություններ և մեթոդներ, իսկ նրանից ժառանգում են ժառանգ դասերը:
Միաժամանակ կարող է պատահել, որ մենք կստեղծենք ժառանգ դասերի օբյեկտներ, բայց ոչ ծնող դասի: Այն մեզ անհրաժեշտ է միայն ընդհանուր հատկությունների և մեթոդների խմբավորման համար:
Այս դեպքում, որպեսզի բացահայտորեն արգելենք ծնող դասի
օբյեկտների ստեղծումը, կարող ենք
այն հայտարարել աբստրակտ: Դա
կատարվում է abstract հիմնաբառի միջոցով:
Դիտարկենք օրինակով: Վերցնենք մեր
User դասը և հայտարարենք այն աբստրակտ:
abstract class User {
public name: string;
constructor(name: string) {
this.name = name;
}
}
Ստեղծենք Student դասը, որն ժառանգում է
User-ից:
class Student extends User {
public course: number;
constructor(name: string, course: number) {
super(name);
this.course = course;
}
}
Ստեղծենք Employee դասը, որն ժառանգում է
User-ից:
class Employee extends User {
public salary: number;
constructor(name: string, salary: number) {
super(name);
this.salary = salary;
}
}
Ստեղծեք աբստրակտ Figure դաս,
որը ներկայացնում է երկրաչափական պատկեր:
Թող այն ունենա պարագծի և
մակերեսի հատկություններ:
Ստեղծեք Square դաս, որն ժառանգում է
Figure դասից:
Ստեղծեք Rectangle դաս, որն ժառանգում է
Figure դասից: