W programowaniu obiektowym , o wstawek lub klasa wstawek jest klasa ma być złożony przez wielokrotne dziedziczenie z innej klasy w celu zapewnienia jej funkcjonalności. Jest to przypadek ponownego wykorzystania implementacji. Każdy mixin reprezentuje usługę, którą można przeszczepić do klas spadkobierców.
W przeciwieństwie do klasy, mixin nie jest przeznaczony do samodzielnego użytku.
Z semantycznego punktu widzenia nie ma związku typu „istnieje” między instancją a miksem.
Domieszki są czasami definiowane jako „abstrakcyjna podklasa”, czyli klasa bez konkretnej nadklasy.
Interfejs (w języku Java, C # lub Pascal) lub czysto wirtualne klasy (w C ++) lub protokół (w Objective C ) jest klasa abstrakcyjna bez realizacji: wszystkie metody są abstrakcyjne.
I odwrotnie , mieszanka zawiera konkretne metody.
Te linie pochodzą z Jaźni języku . Są podobne do mixinów, z tym wyjątkiem, że ich skład niekoniecznie jest liniowy, dzięki mechanizmowi rozwiązywania wielu konfliktów dziedziczenia , gdy niektóre mają metody o tych samych nazwach.
Pojawili się w 1986 roku w Flavours (in) , prekursorze Common Lisp Object System .