Grænseflader for OOP klasser i TypeScript

Grænseflader i TypeScript bruges i vid udstrækning som skabeloner også for klasser. For at anvende den ønskede grænseflade til en klasse skrives nøgleordet implements efter klassenavnet og derefter navnet på grænsefladen.

Her beskriver grænseflader kun klassens offentlige egenskaber og metoder. Den private del defineres i selve klassen og beskrives ikke i grænsefladen.

Lad os prøve det i praksis. Antag, at vi har følgende grænseflade, der definerer en egenskab og en metode:

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

Lad os lave en klasse, der implementerer denne grænseflade. I denne klasse skal vi have implementeret egenskaben name og metoden greet:

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

Opret en grænseflade IMath med egenskaberne num1 og num2 og en metode getDiv, som vil dividere det første tal med det andet.

Задание 2

Lav en klasse Math, der implementerer grænsefladen IMath.