Интерфејси за ООП класе у TypeScript-у

Интерфејси у TypeScript-у се такође широко користе као шаблоне и за класе. Да би се жељени интерфејс применио на класу, иза имена класе пише се кључна реч implements а затим име интерфејса.

При томе интерфејси описују само јавна својства и методе класе. Приватни део се задаје у самој класи и у интерфејсу се не описује.

Испробајмо у пракси. Нека имамо следећи интерфејс, који задаје својство и метод:

typescriptinterface IUser {
  name: string;
  greet(): string;
}

Направимо класу која имплементира овај интерфејс. У овој класи морају да буду имплементирана својство name и метод greet:

typescriptclass User implements IUser {
  name: string;
  
  constructor(name: string) {
    this.name = name;
  }
  
  greet() {
    return `hello, ${this.name}!`;
  }
}
Задание 1

Направите интерфејс IMath са својствима num1 и num2 и методом getDiv, који ће делити први број са другим.

Задание 2

Направите класу Math, која имплементира интерфејс IMath.