Interfaces voor OOP klassen in TypeScript

Interfaces in TypeScript worden ook veel gebruikt als sjablonen voor klassen. Om een ​​interface op een klasse toe te passen, wordt het sleutelwoord implements na de klassenaam geschreven en vervolgens de naam van de interface.

Interfaces beschrijven alleen publieke eigenschappen en methoden van de klasse. Het privé deel wordt in de klasse zelf gedefinieerd en wordt niet in de interface beschreven.

Laten we het in de praktijk proberen. Stel dat we de volgende interface hebben, die een eigenschap en een methode definieert:

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

Laten we een klasse maken die deze interface implementeert. In deze klasse moeten de eigenschap name en de methode greet geïmplementeerd zijn:

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

Maak een interface IMath met de eigenschappen num1 en num2 en een methode getDiv, die het eerste getal door het tweede zal delen.

Задание 2

Maak een klasse Math die de interface IMath implementeert.