Mixin -Wikipedia

before-content-x4

いつ 混入します オブジェクト指向のプログラミング、一緒に属する場合、複数の使用可能な機能のバンドルを参照できます。これはクラスに追加できます。一部のプログラミング言語は、たとえばRuby、Scala、Tool Command Language、Goなど、Mixinsを直接サポートしています。他の言語では、この設計パターンは、たとえば使用するなど、それぞれのプログラミング言語の可能性に依存しています。 ミックスクラス 複数の継承に関連して、またはそのようなB. JavaScriptで、 [初め] 一般的なプログラミングを使用して実装されています。

after-content-x4

インターフェイスとは対照的です (インターフェース) たとえば、JavaとC#では一般的であるため、通常、ミックスインには使用できる機能が既に含まれています。

特性は、クラスにより柔軟な統合を備えた特別な形式のミックスインです。

次の例は、ミックスインデザインパターンのアプリケーションを表しています。チェスゲームをモデル化したクラス階層が含まれています。このモデルでは、クラス用です タイシーケンス ゲームポジション それらを永続的にするために適切です。これは、これらのクラスのオブジェクトを、データベースの例を埋め合わせて保存でき、データベースから再構築されることを意味します。一方、持続性のサポートは、このモデルの他のクラスにとって意味がありません。

Das Mixin 持続性 メソッドができますか Indabaseを保存します restorefromdatabase これを使用して、このミックスインがデータベースに統合されるか、再構築されたクラスのオブジェクトを使用します。

ミクシンは、複数の継承を使用してC ++やエッフェルなどの言語のクラスとして表示されますが、SmallTalkやSimulaなどの古典的なオブジェクト指向言語で実装された継承メカニズムのミックスベースの継承を見る展望もあります。継承を基本クラス(b)を変更する増分メカニズムと見なす場合、結果(e)は、基本クラスと変更(m)の一種の組み合わせです。これは次のように定式化できます。

従来の形式の継承の場合、修正(m)には独立した存在はなく、結果の一部です(e)。対照的に、混合ベースの継承は、変更が基本クラス(b)と結果に依存しない抽象化であると想定されています。この変更は、ミックスイン、シンボルです

after-content-x4
{DisplayStyle Triangle}

それを表しています ミックスアプリケーション 、すなわち、混合物の適用。

ミックスインは、個々のプログラミング言語でプログラミング言語自体の一部です。これの例はプログラミング言語Rubyです [2] UNDツールコマンド言語。 [3] 他のプログラミング言語のミックスイン機能を外部ライブラリ(Javaなど)で実現できる場合があります。 [4] )。

インターフェイスは、C#8.0以降、標準の実装を持つことができました。これにより、混合機能が可能になります。 [5]

ミキシンをサポートするプログラミング言語の広範なリストは、ミックスインに関する英語のウィキペディアの記事にあります。

  • ジョン・D・クレイグ: オブジェクト指向プログラミング言語:解釈 。 Springs Publisher、London 2007、ISBN 1-84628-773-1
  1. JavaScriptの役割指向プログラミングアプローチの多くの才能を特徴やミックスなどの多くの才能を一般化できるようにする 、5。2014年6月。
  2. ルビーとミックスイン: メーカーのウェブサイト
  3. Tclooのミックスイン: メーカーのウェブサイト
  4. cglibを使用したJavaの例: Javaの複数のクラスの継承は簡単になりました
  5. ビル・ワーグナー: デフォルトのインターフェイスメソッドを使用してミックスタイプを作成します。 の: Microsoftの技術文書。 マイクロソフト、15。2021年9月、 2022年4月18日にアクセス (アメリカ英語)。

after-content-x4