Grensesnitt for OOP-klasser i TypeScript

Grensesnitt i TypeScript brukes mye også som maler for klasser. For å anvende et grensesnitt på en klasse skrives nøkkelordet implements etter klassenavnet og deretter grensesnittets navn.

Samtidig beskriver grensesnitt kun offentlige egenskaper og metoder i klassen. Den private delen defineres i selve klassen og beskrives ikke i grensesnittet.

La oss prøve i praksis. La oss si at vi har følgende grensesnitt, som definerer en egenskap og en metode:

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

La oss lage en klasse som implementerer dette grensesnittet. I denne klassen må vi ha implementert egenskapen name og metoden greet:

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

Opprett et grensesnitt IMath med egenskapene num1 og num2 og en metode getDiv, som skal dele det første tallet på det andre.

Задание 2

Lag en klasse Math som implementerer grensesnittet IMath.