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