Abstrakte OOP-klasse in TypeScript
Daar is situasies waar ons 'n ouerklas het wat algemene eienskappe en metodes bevat, en daarvan word subklasse geërf.
Terselfdertyd kan dit wees dat ons voorwerpe van subklasse sal skep, maar nie van die ouerklas nie. Dit is net nodig vir ons om algemene eienskappe en metodes te groepeer.
In hierdie geval, om uitdruklik te verbied om voorwerpe
van die ouerklas te skep, kan ons
dit as abstrak verklaar. Dit
word gedoen met die sleutelwoord abstract.
Kom ons kyk na 'n voorbeeld. Laat ons ons
klas User neem en dit as abstrak verklaar:
abstract class User {
public name: string;
constructor(name: string) {
this.name = name;
}
}
Laat ons 'n klas Student maak, wat erf
van User:
class Student extends User {
public course: number;
constructor(name: string, course: number) {
super(name);
this.course = course;
}
}
Laat ons 'n klas Employee maak, wat erf
van User:
class Employee extends User {
public salary: number;
constructor(name: string, salary: number) {
super(name);
this.salary = salary;
}
}
Skep 'n abstrakte klas Figure,
wat 'n geometriese figuur voorstel.
Laat dit eienskappe vir omtrek
en oppervlakte hê.
Maak 'n klas Square, wat erf
van die klas Figure.
Maak 'n klas Rectangle, wat erf
van die klas Figure.