Erweiterung von Schnittstellen in OOP in TypeScript

Schnittstellen in TypeScript können voneinander erben. Diese Interaktion wird Erweiterung von Schnittstellen genannt. Schauen wir uns ein Beispiel an. Nehmen wir an, wir haben die Schnittstelle ISize:

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

Erstellen wir die Schnittstelle IStyle, die ISize erweitert:

typescriptinterface IStyle extends ISize {
  color: string;
}

Erstellen wir nun eine Klasse Figure, die die Schnittstelle IStyle implementiert. Unsere Klasse muss sowohl die Eigenschaft der Schnittstelle selbst, als auch die ihres Elternteils implementieren. Machen wir das:

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

Prüfen wir die Funktionsweise:

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

Erstellen Sie eine Schnittstelle IProgrammer mit den Eigenschaften salary und language. Lassen Sie diese Schnittstelle IUser mit den Eigenschaften name, birthday erben.

Задание 2

Erstellen Sie eine Klasse Employee, die IProgrammer implementiert.