Інтэрфейсы для ААП класаў у 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.