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:
interface 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:
class User implements IUser {
name: string;
constructor(name: string) {
this.name = name;
}
greet() {
return `hello, ${this.name}!`;
}
}
Vytvořte rozhraní IMath s vlastnostmi
num1 a num2 a metodou
getDiv, která vydělí první
číslo druhým.
Vytvořte třídu Math, která implementuje
rozhraní IMath.