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 :

typescriptinterface ISize {
  height: number;
  width: number;
}

Créons une interface IStyle qui étend ISize :

typescriptinterface 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 :

typescriptclass 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 :

typescriptlet fig = new Figure(130, 200, 'green');
console.log(fig);
Задание 1

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.

Задание 2

Créez une classe Employee qui implémente IProgrammer.