Rozšiřování rozhraní v OOP v TypeScriptu

Rozhraní v TypeScriptu mohou dědit jedna od druhé. Taková interakce se nazývá rozšiřování rozhraní. Podívejme se na příklad. Předpokládejme, že máme rozhraní ISize:

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

Vytvořme rozhraní IStyle, které bude rozšiřovat ISize:

typescriptinterface IStyle extends ISize {
  color: string;
}

Nyní vytvořme třídu Figure, implementující rozhraní IStyle. Naše třída bude muset implementovat jak vlastnost samotného rozhraní, tak i jeho rodiče. Pojďme na to:

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

Ověřme funkčnost:

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

Vytvořte rozhraní IProgrammer s vlastnostmi salary a language. Nechť toto rozhraní dědí od IUser s vlastnostmi name, birthday.

Задание 2

Vytvořte třídu Employee, která implementuje IProgrammer.