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