TypeScript-də Abstract OOP Sinifləri
Elə hallar olur ki, bizim ümumi xassələr və metodlar saxlayan ana sinifimiz olur, və ondan törəmə siniflər miras alır.
Eyni zamanda elə ola bilər ki, biz törəmə siniflərin obyektlərini yaradırıq, amma ana sinfin özünün yox. O, bizim üçün yalnız ümumi xassələrin və metodların qruplaşdırılması üçün lazımdır.
Bu halda, ana sinfin obyektlərinin yaradılmasını aydın şəkildə qadağan etmək üçün,
onu abstract elan etmək olar. Bu, abstract açar sözü ilə edilir.
Gəlin nümunəyə baxaq. Gəlin bizim User sinfimizi götürək və onu abstract elan edək:
typescriptabstract class User {
public name: string;
constructor(name: string) {
this.name = name;
}
}
Gəlin User-dən miras alan Student sinfini yaradaq:
typescriptclass Student extends User {
public course: number;
constructor(name: string, course: number) {
super(name);
this.course = course;
}
}
Gəlin User-dən miras alan Employee sinfini yaradaq:
typescriptclass Employee extends User {
public salary: number;
constructor(name: string, salary: number) {
super(name);
this.salary = salary;
}
}
Həndəsi fiquru təmsil edən abstract Figure sinfini yaradın.
Onda perimetr və sahə üçün xassələr olsun.
Figure sinfindən miras alan Square sinfini yaradın.
Figure sinfindən miras alan Rectangle sinfini yaradın.