目前支持mixins的语言是什么?

时间:2010-04-06 02:17:15

标签: language-agnostic programming-languages mixins

很明显Ruby和Sass,但还有其他什么?

6 个答案:

答案 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)

嗯,Flavors当然。这变成了CLOS

答案 5 :(得分:0)

JavaScript支持它们。您可以随时向对象的原型添加函数/字段。