Mixin: Difference between revisions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
In [[computer science]], a '''mixin''' is a group of [[function (programming)|function]]s which can be mixed into a class and become [[method (computer science)|method]]s. 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. |
In [[computer science]], a '''mixin''' is a group of [[function (programming)|function]]s which can be mixed into a class and become [[method (computer science)|method]]s. 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 [[interface (computer science)|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 (computer science)|polymorphism]] and not for refactoring common behavior into a single place. |
Some of the functionality of mixins is provided by [[interface (computer science)|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 (computer science)|polymorphism]] and not for refactoring common behavior into a single place. Some languages supporting mixins are [[Ruby programming language]] and [[D programming language]]. |
||
== External links == |
== External links == |
Revision as of 05:43, 15 May 2005
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. Some languages supporting mixins are Ruby programming language and D programming language.