Trait
In de informatica is een mixin een groep functies die toegevoegd kunnen worden aan een klasse en methodes. Ze maken het mogelijk om bepaalde klassen een bepaalde functionaliteit aan te laten nemen in een object-georiënteerde programmeertaal die multiple inheritance ("meervoudige overerving") ondersteunt, alsof de klasse een gerecht was en de mixin een bepaald ingrediënt.
Een mixin wordt ook wel aangeduid als "abstracte subklasse" aangezien een mixin andere diensten kan bieden, gebaseerd op de diensten die de originele klasse biedt. In wezen is het echter een ouderklasse waarvan wordt overgeërfd, zonder dat dat impliceert dat de subklasse "van het soort van" de ouder is.