Kompiuterių programavime mixin yra klasė, kurią paveldi kita klasė, tačiau ji nėra skirta egzempliorių formavimui. Viena klasė gali paveldėti daugybę mišinių, todėl daug funkcijų rinkinių gali būti lengvai konsoliduojami. Nors daugelis įprastų programavimo kalbų naudoja „mixin“ metodiką, yra daug daugiau, kurios nenaudoja, įskaitant C++ ir „Java“. Paprastai mišiniai randami scenarijų kalbose arba tose kalbose, kurios turi galimybę kurti scenarijus, pavyzdžiui, JavaScript ir Perl.
Mišiniai yra unikalūs tuo, kad kompiliavimo metu jie tampa poklasio dalimi. Jų metodai ir konstantos yra įtrauktos į poklasį. Kitas unikalus mixin klasių bruožas yra tai, kad metodus galima apibrėžti ir susieti su objektais vykdymo metu. Dauguma kalbų naudoja skirtingą metodą, susiejimo ir apibrėžimo metodus kompiliavimo metu, o ne vykdymo metu. Šis vykdymo laiko susiejimas leidžia miksams būti labai lankstiems.
Dažna daugialypio paveldėjimo problema yra metodų iškvietimo dviprasmiškumas, o maišytuvai gali išspręsti šią problemą, nes nesilaiko tų pačių taisyklių kaip ir daugybinis paveldėjimas. Pavyzdžiui, daugkartinis paveldėjimas gali sukurti vadinamąjį „mirties deimantą“, kai pirminė klasė A turi B ir C poklasius, o D klasė paveldi iš abiejų klasių B ir C. Šio scenarijaus problema yra ta, kad metodai, kurie turi tas pats pavadinimas A, B ir C klasėse gali būti paveldėtas į D klasę, sukuriant kelias to paties metodo versijas be aiškių skirtumų. Mišiniai išsprendžia šią problemą, išskirdami kiekvieną metodo versiją, o ne bandydami jas perrašyti, kaip standartinio kelių paveldėjimo atveju.
Mišiniai nepaiso metodų klasėse, į kurias jie yra paveldimi. Pavyzdžiui, jei A klasė apibrėžė metodą „myMethod“ ir paveldėjo mišinį B, kuris taip pat apibrėžė metodą „myMethod“, abu šie metodai vis tiek gali būti iškviesti be dviprasmybių, o „myMethod“ diegimas A klasėje vis tiek būtų visiškai prieinama. Kaip tiksliai šie metodai bus vadinami, priklauso nuo kalbos, kuria yra įdiegtas mixin.
Kai kurios programavimo kalbos, kurios nenaudoja mišinių, pavyzdžiui, Java, naudoja sąsajas, kad jas imituotų. Šių kalbų sąsajos nemėgdžioja visų miksinų funkcijų, nes sąsajose gali būti tik konstantos ir metodų deklaracijos. Kita vertus, mišiniuose gali būti visi metodai. Tos kalbos, kurios nepalaiko mišinių, dažnai turi tinkamų alternatyvų, kurias galima įtikinti daryti maždaug tą patį.