我目前正在Squeak环境中学习Smalltalk,并且正在阅读“Squeak-ObjectLand快速之旅”。我从Python和Java的一些先验知识进入了面向对象的范式,第36页的书中的这句话使我想到:
句子简短但很有趣。在OO中,所有类(如类,对象,实例)似乎都是定义明确的,并且似乎指向一个唯一的真实含义,并且您可能会遇到通用的句子,例如“对象是类的实例”。
但是您很少听说实现策略。在这种情况下,面向对象概念的实现意味着什么?除类之外,还有OO语言的实现吗?
最佳答案
Javascript是一种基于原型(prototype)的OO语言实现。
您无需克隆一个类并创建该新类的实例,而是通过克隆原型(prototype)来继承行为。
作为历史记录,我应该补充一点,尽管Javascript可能是使用最广泛的原型(prototype)使用语言,但第一种是David Ungar和Randall Smith的Self language。
有很多implementations的prototypes漂浮在Squeak上。我没有使用过它们,因此无法对库发表评论。
关于oop - 面向对象的实现策略,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13084222/