Schnittstellen für OOP-Klassen in TypeScript

Schnittstellen in TypeScript werden weit verbreitet als Vorlagen auch für Klassen verwendet. Um eine benötigte Schnittstelle auf eine Klasse anzuwenden, wird nach dem Klassennamen das Schlüsselwort implements und dann der Name der Schnittstelle geschrieben.

Dabei beschreiben Schnittstellen nur die öffentlichen Eigenschaften und Methoden der Klasse. Der private Teil wird in der Klasse selbst definiert und in der Schnittstelle nicht beschrieben.

Probieren wir es in der Praxis aus. Angenommen, wir haben die folgende Schnittstelle, die eine Eigenschaft und eine Methode definiert:

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

Erstellen wir eine Klasse, die diese Schnittstelle implementiert. In dieser Klasse müssen die Eigenschaft name und die Methode greet implementiert sein:

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

Erstellen Sie eine Schnittstelle IMath mit den Eigenschaften num1 und num2 und einer Methode getDiv, die die erste Zahl durch die zweite teilt.

Задание 2

Erstellen Sie eine Klasse Math, die die Schnittstelle IMath implementiert.