TypeScript-de OOP-da abstrakt metodlar
Belli bir wagt gelýär, soňky klaslaryň umumy metoda eýe bolmaly,
ýöne, bu metoduň ýerine ýetirilişi takyk soňky klasa bagly. Bu
ýagdaýda bu metodu ata klasyň abstrakt klasynda ýerine ýetirilişini
ýazmadyk ýaly elan edip bolýar. Soň bolsa soňky klaslar bu metodlary
ýerine ýetirmäge mejbur bolar. Beýle metodlar abstrakt diýilip
atlandyrylýar we şeýle-de abstract açar sözi ýardamy bilen
elanylyp biliner.
Mysal üçin bizim User abstrakt klasymyzy alyň. Bu klasyň
wärisleriniň hökmany show metoda eýe bolmaly,
obýektiň maglumatlaryny çykarýan.
Bu metoduň ýerine ýetirilişi, ýöne,
wärisiň özüne bagly bolar. Geliň User klasynda
bu metodu abstrakt hökmünde elan edeliň:
typescriptabstract class User {
public name: string;
constructor(name: string) {
this.name = name;
}
public abstract show(): string;
}
Bu metodu Student wäris klasynda ýerine ýetireliň:
typescriptclass Student extends User {
public course: number;
constructor(name: string, course: number) {
super(name);
this.course = course;
}
show() {
return this.name + ' ' + this.course;
}
}
Bu metodu Employee wäris klasynda ýerine ýetireliň:
typescriptclass Employee extends User {
public salary: number;
constructor(name: string, salary: number) {
super(name);
this.salary = salary;
}
show() {
return this.name + ' ' + this.salary;
}
}
Figure abstrakt klasynda meýdan we
perimetr almak üçin abstrakt metodlary düzüň.
Square we
Rectangle wäris klaslarynda bu metodlaryň
ýerine ýetirilişini ýazyň.