Ben*_*Ben 8 javascript python prototype class
可能重复:
基于原型与基于类的继承
这个问题前几天出现了 - 像Python这样的基于类的语言和像Javascript这样的基于原型的语言有什么区别?除了不同的方法,两种方式看起来非常相似,我们努力寻找基于类的语言可以做的基于原型的语言不能,或反之亦然.
任何人都可以详细说明或从根本上了解它们之间的差异吗?
我没有在网上找到很多差异,只是网站向您展示如何与另一个完成一个(例如:在JavaScript中使用原型模拟类)
任何启示赞赏!
看看这篇文章.这是一篇详细的文章,讨论了基于类和基于原型的语言之间的差异.
表格的副本总结了差异:
看起来你对实际的语言很熟悉,所以你知道有什么区别,对吧?我猜您是在更深层次,也许更“哲学”的层面上询问差异。
基于类的语言倾向于自上而下,从一般到特殊。经典示例是您定义“车辆”类,然后定义“汽车”、“火车”等子类。
相反,基于原型的语言倾向于从特定的开始,实际上从特定的实例开始并对其进行修改。
我喜欢这个:http : //steve-yegge.blogspot.ie/2008/10/universal-design-pattern.html
最后,这不是你是否可以在 JS 中进行继承的问题,或者你是否可以用一种语言而不是另一种语言来做一些事情。这是他们解决问题的方式的巨大差异。对于一个特定的问题,在基于原型的语言中与在基于类的语言中最好地利用语言特性的好的惯用解决方案可能会有很大不同。
| 归档时间: |
|
| 查看次数: |
3638 次 |
| 最近记录: |