【发布时间】:2012-07-22 03:56:16
【问题描述】:
前几天在工作中提出了这个问题——像 Python 这样的基于类的语言和像 Javascript 这样的基于原型的语言有什么区别?除了不同的方法之外,这两种方式看起来都非常相似,我们努力寻找基于类的语言可以做而基于原型的语言不能做的事情,反之亦然。
谁能详细说明或详细说明它们的根本区别?
我没有在网上找到太多关于差异的信息,只是一些网站向您展示了如何实现一个与另一个(例如:Simulating classes with prototypes in JavaScript)
感谢任何启发!
【问题讨论】:
-
JavaScript 不实现接口,也不能在本地强制执行它。这限制了 SPI 之类的内容。
-
了解 JavaScript 的历史将解释为什么它同时是基于类的原型。
-
@Petah:这实际上更像是动态与静态类型的事情。基于类的动态语言也有同样的“问题”。
标签: javascript python class prototype