|
とはオブジェクト指向プログラミング言語において、サブクラスによって継承されることにより機能を提供し、単体で動作することを意図しないクラスである。 == 概要 == からの継承は、特化の一形態ではなく、むしろ機能を他のクラスから集めるための手段である。あるクラスは多重継承により複数の クラスから継承を行って、大半の機能を継承によって実現することができる。 は シンボリックス 社のオブジェクト指向システム で初めて登場し、 マシン で用いられたオブジェクト指向への試みであった。この名称は、マサチューセッツ州 Somerville にあったアイスクリーム屋からヒントを得て考え出されたものであった〔 〕。このアイスクリーム店の店長は(バニラやチョコレートなどの)基本となる味を混ぜ、追加の具材(ナッツ、クッキー、キャンディなど)と組み合わせたものを提供し、それを と呼んで店の登録商標としていた〔 〕。 はコードの再利用を促進し、多重継承にまつわる良く知られた症状を避けることができる。しかし、 にはそれなりの妥協も伴う。 は、「メソッド付きのインターフェース」ということもできる。クラスが を含む場合、そのインターフェースを実装したクラスは、 の属性と操作を取り込む。継承するというのとは異なっている。 取り込んだ要素はコンパイル時にクラスの一部となる。興味深いことに、 はインターフェイスを実装する必要はない。それでもあえてインターフェイスを実装する利点は、そのインターフェイスを必要とするメソッドに、引数としてインスタンスを渡せるからである。 では、属性とインスタンス化のパラメータをコンパイル時に決定させつつ、メソッドのバインディングを実行時まで遅延させることができる。これは に始まるプログラム言語の、全ての属性とメソッドと初期化の方法をコンパイル時に決定する広く用いられるアプローチとは異なる。 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「Mixin」の詳細全文を読む 英語版ウィキペディアに対照対訳語「 Mixin 」があります。 スポンサード リンク
|