Utvidelse av grensesnitt i OOP i TypeScript

Grensesnitt i TypeScript kan arve fra hverandre. Denne interaksjonen kalles utvidelse av grensesnitt. La oss se på et eksempel. La oss si at vi har et grensesnitt ISize:

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

La oss lage et grensesnitt IStyle, som utvider ISize:

typescriptinterface IStyle extends ISize {
  color: string;
}

La oss nå lage en klasse Figure, som implementerer grensesnittet IStyle. Vår klasse må implementere både egenskapene til selve grensesnittet og dets forelder. La oss gjøre dette:

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

La oss teste funksjonaliteten:

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

Opprett et grensesnitt IProgrammer med egenskapene salary og language. La dette grensesnittet arve fra IUser med egenskapene name, birthday.

Задание 2

Lag en klasse Employee, som implementerer IProgrammer.