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:

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

Laten we een interface IStyle maken, die ISize uitbreidt:

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

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;
  }
}

Laten we de werking controleren:

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

Maak een interface IProgrammer met eigenschappen salary en language. Laat deze interface overerven van IUser met eigenschappen name, birthday.

Задание 2

Maak een klasse Employee, die IProgrammer implementeert.