コーディング用語 プログラミング

プログラミングのMixinって何?初心者向けに分かりやすく解説

0
0


Mixinとは、オブジェクト指向プログラミング言語において、サブクラスを継承して機能を提供し、独立して動作することを意図していないクラスのことです。いくつかの言語では、ミックスインは、その言語のクラスや継承とは異なる仕組みになっています。

オブジェクト指向プログラミングでは、当初、継承は特殊化であると考えられていました。 つまり、継承した部分である(派生型)と(ベース型)の間にリスコフ置換原理が存在すると仮定したわけです。

もっと簡単に言えば、単体で機能するコードではなく、他の部分から呼び出されて適応されると機能するコードのことです。

本体であるクラスが戦士だとしたら、Mixinとはソードと言えます。ソードは単体では使えませんよね、まあ、ある意味クラスを継承するのとそんなに変わりません。

ですんでmixinでの継承も、上記のような特殊化のためのものではなく、複数の機能を組み合わせるためのものです。

特に、クラスの多重継承が可能なシステムでは、mixinクラスの多重継承を利用して、複数の機能を持つシンプルなクラスを簡単に作成することができます。 この種のパターンの典型的な例は、InputStreamとOutputStreamという複数のMixinクラスを継承して、InputOutputStreamという双方向のストリームクラスを作成することです。

ハイブリッド要素自体はもっと前から検討されていたが、1970年代にMIT Lisp方言のオブジェクト指向システムであるFlavors(プログラミング言語)によって普及しました。Flavorsは、同時期のオブジェクト指向システムであるSmalltalkの影響を受けた試みの一つであるが、多重継承を採用していたので、

この名前は、基本的なフレーバー(バニラやチョコレートなど)と他の材料(ナッツ、クッキー、キャンディなど)を混ぜ合わせて「ミックスイン」と呼んでいたことに由来します。

要は、簡単に言えばMixinはコードの再利用を促進するということなのですが、 しかし、Mixinにはある程度の妥協も必要です。

Pocket
LinkedIn にシェア

りょすけ
毎月3万人以上のプログラマーが訪れるoff.tokyoで、プログラマーさん向けのアンケートを実施しています、アンケートに無料回答すると、他の人の投票も見ることが出来ます!

学びたいプログラミング言語は何ですか?

エンジニアにおすすめできる本

Card image cap
リーダブルコード

より良いコードを書くためのシンプルで実践的なテクニック

Card image cap
Webを支える技術

HTTP,URI,HTML,そしてREST

Card image cap
誰でもPythonで作れる

儲かるAIとソフトウェアの作り方

Card image cap
プログラマが知るべき97のこと

現場で使える実践哲学のマスターピース

Card image cap
情熱プログラマー

時代を超えて。ソフトウェア開発者の幸せな生き方

Card image cap
アジャイルサムライ

プログラミング達人開発者への道

Card image cap
Rubyを作った男 まつもとゆきひろ

コードの世界 スーパー・プログラマになる14の思考法

 vaaaval@gmail.com



  • この記事を書いた人
  • 最新記事

藤沢瞭介(Ryosuke Hujisawa)

りょすけと申します。18歳からプログラミングをはじめ、今はフロントエンドでReactを書いたり、AIの勉強を頑張っています。off.tokyoでは、ハイテクやガジェット、それからプログラミングに関する情報まで、エンジニアに役立つ情報を日々発信しています!

-コーディング用語, プログラミング

Copyright© off.tokyo , 2021 All Rights Reserved Powered by AFFINGER5.