Интерфейсы для ООП классов в 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.