Interfacce per classi OOP in TypeScript

Le interfacce in TypeScript sono ampiamente utilizzate anche come modelli per le classi. Per applicare un'interfaccia a una classe, dopo il nome della classe viene scritta la parola chiave implements e poi il nome dell'interfaccia.

In questo caso, le interfacce descrivono solo le proprietà e i metodi pubblici della classe. La parte privata viene definita nella classe stessa e non è descritta nell'interfaccia.

Proviamo nella pratica. Supponiamo di avere la seguente interfaccia, che definisce una proprietà e un metodo:

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

Creiamo una classe che implementa questa interfaccia. In questa classe dobbiamo implementare la proprietà name e il metodo greet:

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

Crea un'interfaccia IMath con le proprietà num1 e num2 e un metodo getDiv, che dividerà il primo numero per il secondo.

Задание 2

Crea una classe Math che implementi l'interfaccia IMath.