Utökning av gränssnitt i OOP i TypeScript

Gränssnitt i TypeScript kan ärva varandra. Denna interaktion kallas utökning av gränssnitt. Låt oss titta på ett exempel. Låt oss säga att vi har ett gränssnitt ISize:

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

Låt oss skapa ett gränssnitt IStyle, som kommer att utöka ISize:

typescriptinterface IStyle extends ISize {
  color: string;
}

Låt oss nu skapa en klass Figure, som implementerar gränssnittet IStyle. Vår klass måste implementera både egenskapen för gränssnittet självt och dess förälder. Låt oss göra detta:

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

Låt oss kontrollera att det fungerar:

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

Skapa ett gränssnitt IProgrammer med egenskaperna salary och language. Låt detta gränssnitt ärva IUser med egenskaperna name, birthday.

Задание 2

Skapa en klass Employee, som implementerar IProgrammer.