TypeScriptのOOPクラスにおけるインターフェース

TypeScriptのインターフェースは、テンプレートとしてだけでなく、クラスのためにも広く使用されます。 クラスに必要なインターフェースを適用するには、クラス名の後にキーワード implementsを書き、その後にインターフェース名を記述します。

ただし、インターフェースはクラスのパブリックなプロパティとメソッドのみを記述します。 プライベートな部分はクラス自体で定義され、インターフェースには記述されません。

実際に試してみましょう。以下のようなプロパティとメソッドを定義するインターフェースがあるとします:

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

このインターフェースを実装するクラスを作成します。 このクラスには、プロパティnameとメソッドgreetが実装されている必要があります:

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

プロパティnum1とnum2、そして最初の数字を2番目の数字で割るメソッド getDivを持つインターフェースIMathを作成してください。

Задание 2

インターフェースIMathを実装するクラスMathを作成してください。