Интерфейси за ООП класове в TypeScript
Интерфейсите в TypeScript се използват широко
като шаблони и за класове. За да се приложи към клас
желания интерфейс
след името на класа се пише ключовата дума
implements и след това името на интерфейса.
При това интерфейсите описват само публични свойства и методи на класа. Частната част се задава в самия клас и в интерфейса не се описва.
Нека опитаме на практика. Да предположим, че имаме следния интерфейс, задаващ свойство и метод:
interface IUser {
name: string;
greet(): string;
}
Нека направим клас, реализиращ този интерфейс.
В този клас трябва да са реализирани
свойството name и методът greet:
class User implements IUser {
name: string;
constructor(name: string) {
this.name = name;
}
greet() {
return `hello, ${this.name}!`;
}
}
Създайте интерфейс IMath със свойства
num1 и num2 и метод
getDiv, който ще дели първото
число на второто.
Направете клас Math, който реализира
интерфейса IMath.