Mixin
Appearance
In computer science, a mixin is a group of functions which can be mixed into a class and become methods. They allow certain classes to take on certain functionality in an object-oriented programming language (including languages that do not support multiple inheritance), just as if the class were a cooking dish and a mixin was a specific ingredient.
Some of the functionality of mixins is provided by interfaces in popular languages like Java and C#, but since an interface only specifies what the class must support and cannot provide an implementation, they are only useful for providing polymorphism and not for refactoring common behavior into a single place.