Interfaces voor OOP klassen in TypeScript
Interfaces in TypeScript worden ook veel gebruikt
als sjablonen voor klassen. Om een interface op een klasse toe te passen,
wordt het sleutelwoord implements na de klassenaam geschreven
en vervolgens de naam van de interface.
Interfaces beschrijven alleen publieke eigenschappen en methoden van de klasse. Het privé deel wordt in de klasse zelf gedefinieerd en wordt niet in de interface beschreven.
Laten we het in de praktijk proberen. Stel dat we de volgende interface hebben, die een eigenschap en een methode definieert:
interface IUser {
name: string;
greet(): string;
}
Laten we een klasse maken die deze interface implementeert.
In deze klasse moeten de eigenschap name en de methode greet
geïmplementeerd zijn:
class User implements IUser {
name: string;
constructor(name: string) {
this.name = name;
}
greet() {
return `hallo, ${this.name}!`;
}
}
Maak een interface IMath met de eigenschappen
num1 en num2 en een methode
getDiv, die het eerste getal door het tweede
zal delen.
Maak een klasse Math die de interface
IMath implementeert.