Metodat Abstrakte në OOP në TypeScript
Ndonjëherë ndodh që klasat e pasardhësit duhet të kenë
një metodë të përbashkët, megjithatë, zbatimi i kësaj
metode varet nga pasardhësi specifik. Në
këtë rast kjo metodë mund të deklarohet në
klasën abstrakte të prindit, pa shkruar
zbatimin e saj. Dhe atëherë pasardhësit do të jenë
të detyruar të zbatojnë këto metoda. Metoda të tilla
quhen abstrakte dhe
gjithashtu deklarohen duke përdorur fjalën kyçe
abstract.
Le të marrim për shembull klasën tonë abstrakte
User. Le të pasardhësit e kësaj
klase duhet patjetër të kenë metodën show,
që nxjerr të dhënat e objektit.
Zbatimi i kësaj metode, megjithatë, do të
varet nga pasardhësi. Le të deklarojmë këtë metodë abstrakte në klasën User:
abstract class User {
public name: string;
constructor(name: string) {
this.name = name;
}
public abstract show(): string;
}
Le ta zbatojmë këtë metodë në klasën-pasardhës Student:
class Student extends User {
public course: number;
constructor(name: string, course: number) {
super(name);
this.course = course;
}
show() {
return this.name + ' ' + this.course;
}
}
Le ta zbatojmë këtë metodë në klasën-pasardhës Employee:
class Employee extends User {
public salary: number;
constructor(name: string, salary: number) {
super(name);
this.salary = salary;
}
show() {
return this.name + ' ' + this.salary;
}
}
Në klasën abstrakte Figure bëni
metoda abstrakte për marrjen e sipërfaqes
dhe perimetrit.
Në klasat-pasardhëse Square dhe
Rectangle shkruani zbatimin e këtyre
metodave.