読み方 : ミックスイン

Mixin

概要

Mixinとは、オブジェクト指向プログラミングで、クラス間の継承とは別に、既存のクラスに機能を追加する仕組み。継承関係とは別に必要なプログラム部品を自由に取り付けることができ、コードの再利用性を高める。
Mixinのイメージ画像

オブジェクト指向プログラミングでは、クラス継承することで機能を再利用する方法が一般的である。しかし、単一継承の言語では、一つのクラスが直接継承できる親クラスは一つに限定されるため、異なる機能を横断的に追加したい場合にコードが重複したり設計が複雑になることがある。

Mixinは特定の機能のみをまとめたクラスモジュールを他のクラスに組み込むことで、柔軟に機能を拡張する仕組みである。通常、単体では完全なオブジェクトとして利用されることを想定せず、他のクラスに「混ぜ込む」ことを前提として設計される。例えば、ログ出力機能や比較機能、イベント通知機能など、さまざまなクラスで共通して利用される振る舞いを切り出してMixinとして定義する。このMixinを複数のクラスに適用することで、同じ機能を重複実装することなく再利用できる。

RubyPythonTypeScriptといった言語で採用されているが、言語によって実現方法は異なる。多重継承に対応した言語ではMixinクラスを複数継承する形で実現する場合がある。一方、多重継承を持たない言語では、インターフェースとデフォルト実装、トレイト、拡張メソッドなどの仕組みを用いて同様の機能を提供する

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。