Rozhraní pro OOP třídy v TypeScript

Rozhraní v TypeScript se široce používají jako šablony i pro třídy. Aby bylo možné použít požadované rozhraní pro třídu, za názvem třídy se píše klíčové slovo implements a poté název rozhraní.

Přitom rozhraní popisují pouze veřejné vlastnosti a metody třídy. Soukromá část je definována v samotné třídě a v rozhraní není popsána.

Vyzkoušejme to v praxi. Předpokládejme, že máme následující rozhraní, které definuje vlastnost a metodu:

typescriptinterface IUser {
  name: string;
  greet(): string;
}

Vytvořme třídu, která toto rozhraní implementuje. V této třídě musíme implementovat vlastnost name a metodu greet:

typescriptclass User implements IUser {
  name: string;
  
  constructor(name: string) {
    this.name = name;
  }
  
  greet() {
    return `hello, ${this.name}!`;
  }
}
Задание 1

Vytvořte rozhraní IMath s vlastnostmi num1 a num2 a metodou getDiv, která vydělí první číslo druhým.

Задание 2

Vytvořte třídu Math, která implementuje rozhraní IMath.