Extension des interfaces en POO dans TypeScript
Les interfaces dans TypeScript peuvent hériter
les unes des autres. Cette interaction
est appelée extension des interfaces.
Regardons un exemple. Supposons que nous ayons
une interface ISize :
interface ISize {
height: number;
width: number;
}
Créons une interface IStyle qui
étend ISize :
interface IStyle extends ISize {
color: string;
}
Maintenant, créons une classe Figure
implémentant l'interface IStyle. Notre
classe devra implémenter à la fois la propriété
de l'interface elle-même et celle de son parent.
Faisons cela :
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;
}
}
Vérifions le fonctionnement :
let fig = new Figure(130, 200, 'green');
console.log(fig);
Créez une interface IProgrammer avec
les propriétés salary et language.
Que cette interface hérite de IUser
avec les propriétés name, birthday.
Créez une classe Employee qui
implémente IProgrammer.