很明显Ruby和Sass,但还有其他什么?
答案 0 :(得分:4)
Wiki有一个列表
http://en.wikipedia.org/wiki/Mixin#Programming_languages_that_use_mixins
引用:
使用mixins的编程语言
除了Flavors和CLOS(一部分) Common Lisp),一些使用的语言 mixins是:
* ColdFusion (Class based using includes and Object based
by assigning methods from one object to another at runtime)
* Curl(with Curl RTE)
* D (called "template mixins")
* Factor[citation needed]
* Fantom
* Ioke
* JavaFX Script
* JavaScript
* Object REXX
* OpenLaszlo
* Perl[3]
* PLT Scheme (mixins documentation)
* Python
* Ruby
* Scala
* Smalltalk
* Strongtalk
* Vala
* Visual Dataflex
* XOTcl/TclOO (object systems for Tcl)[4]
某些语言,如ECMAScript (通常称为JavaScript) 不支持该语言的mixins 水平,但可以很容易地模仿它们 将方法从一个对象复制到 另一个是在运行时,因此 “借用”mixin的方法。注意 这是不可能的 静态类型语言,其中 对象的签名在编译时是固定的 时间。
答案 1 :(得分:1)
答案 2 :(得分:1)
Perl的Roles可以称为mixins。
答案 3 :(得分:1)
_why的potion语言跳跃于脑海。想法是对象具有状态和方法。在大多数语言中,状态发生在对象中,方法发生在类上。在药水中,物体只有状态,方法完全用mixin处理。
引用自述文件
在旁注上,我想念为什么。我们需要更多的人做像这样的狂野的事情一切都是对象。甚至 混合物是对象。而且当然, 关闭是对象。
然而,对象不是一切。 他们没有混合物是无用的。
答案 4 :(得分:0)
答案 5 :(得分:0)
JavaScript支持它们。您可以随时向对象的原型添加函数/字段。