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ň:
abstract class User {
public name: string;
constructor(name: string) {
this.name = name;
}
public abstract show(): string;
}
Bu metodu Student wäris klasynda ýerine ýetireliň:
class 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ň:
class 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ň.