Uitbreiden van interfaces in OOP in TypeScript
Interfaces in TypeScript kunnen overerven
van elkaar. Deze interactie
wordt uitbreiding van interfaces genoemd.
Laten we een voorbeeld bekijken. Stel we hebben
een interface ISize:
interface ISize {
height: number;
width: number;
}
Laten we een interface IStyle maken, die
ISize uitbreidt:
interface IStyle extends ISize {
color: string;
}
Laten we nu een klasse Figure maken,
die de interface IStyle implementeert. Onze
klasse moet zowel de eigenschap
van de interface zelf als die van zijn ouder implementeren.
Laten we dit doen:
class Figure implements IStyle {
height: number;
width: number;
color: string;
constructor(height: number, width: number, color: string) {
this.height = height;
this.width = width;
this.color = color;
}
}
Laten we de werking controleren:
let fig = new Figure(130, 200, 'green');
console.log(fig);
Maak een interface IProgrammer met
eigenschappen salary en language.
Laat deze interface overerven van IUser
met eigenschappen name, birthday.
Maak een klasse Employee, die
IProgrammer implementeert.