Mixin (ミックスイン)

mixin は、そのメソッドプロパティの一部またはすべてが実装されていないクラスまたはインターフェイスであり、別のクラスまたはインターフェイスが欠落している実装を提供する必要があります。 新しいクラスまたはインターフェイスには、mixin のプロパティとメソッドと、それ自身で定義したプロパティとメソッドの両方が含まれます。 mixin が実装しているか、mixin を実装しているインターフェイスまたはクラスが実装しているかにかかわらず、すべてのメソッドとプロパティは全く同じように使用できます。

ミックスインは、クラス(WebAPI 仕様書でいうところのインターフェイス)の一部またはすべてのメソッドプロパティ が未実装であり、他のクラスまたはインターフェイスで足りない実装を行うことが必要であるものです。

新しいクラスやインターフェイスには、ミックスインのプロパティやメソッドと、ミックスイン自身が定義するプロパティやメソッドの両方が記載されます。すべてのメソッドとプロパティは、ミックスインや ミックスインを実装したインターフェイスやクラスで実装されているかどうかに関係なく、 まったく同じように使用されます。

ミックスインの利点は、複数のインターフェイスに同じメソッドとプロパティを含める必要がある API の設計を簡素化するために使用できることです。

たとえば、 WindowOrWorkerGlobalScope ミックスインは、 WindowWorkerGlobalScope の両方のインターフェイスで使用できるメソッドとプロパティを提供するために使用されます。 このミックスインは、これらの両方のインターフェイスによって実装されています。

関連情報

  • Mixin (ウィキペディア)