Abstrakte Metodes in OOP in TypeScript
Dit gebeur soms dat afstammelingklasse
'n algemene metode moet hê, maar die
implementering van hierdie metode hang af
van die spesifieke afstammeling. In
hierdie geval kan hierdie metode in die
abstrakte ouerklas verklaar word sonder om
die implementering daarvan te skryf. En dan sal
die afstammelinge verplig wees om hierdie metodes te implementeer. Sulke
metodes word abstrakte genoem en
word ook verklaar met behulp van die sleutelwoord
abstract.
Kom ons neem byvoorbeeld ons abstrakte
klas User. Laat die erfgename van hierdie
klas verplig wees om die metode show te hê,
wat die data van die objek vertoon.
Die implementering van hierdie metode sal eger
afhang van die afstammeling. Kom ons verklaar hierdie metode as abstrak in die klas User:
abstract class User {
public name: string;
constructor(name: string) {
this.name = name;
}
public abstract show(): string;
}
Implementeer hierdie metode in die afstammelingklas Student:
class Student extends User {
public course: number;
constructor(name: string, course: number) {
super(name);
this.course = course;
}
show() {
return this.name + ' ' + this.course;
}
}
Implementeer hierdie metode in die afstammelingklas Employee:
class Employee extends User {
public salary: number;
constructor(name: string, salary: number) {
super(name);
this.salary = salary;
}
show() {
return this.name + ' ' + this.salary;
}
}
Maak in die abstrakte klas Figure
abstrakte metodes om die oppervlakte
en omtrek te kry.
Skryf die implementering van hierdie
metodes in die afstammelingklasse Square en
Rectangle.