为什么基于类的 OO 如此受欢迎,而不是基于原型的 OO?他们在学校教授后者吗?尽管 Javascript 是基于原型的,但大多数人主要是在功能上使用它,或者通过尝试模拟基于类的系统的框架。
我知道Sun已经做了一些研究Self http://research.sun.com/self/- 基于原型的面向对象技术还有其他知识来源吗?最好是可以自学的东西。
我找到了一本书,其中包含已发表的论文:基于原型的编程:概念、语言和应用 https://rads.stackoverflow.com/amzn/click/com/9814021253
有人读过吗?
--
所以我对给我最多的答案给予了赏金。尽管如此,我还是不太满意。我希望听到更多技术性的答案。也许我没有很好地解释自己。
原型继承的优点是它可能允许以简单的方式进行花哨的元编程,因为原型链很容易操作。这是一个相当学术性的优势,因为元编程在 99% 的情况下都是错误的答案。例如,您可以拥有一个带有特殊 DSL 的 Javascript Key-Value Observer 风格的数据操纵层,该层可以通过原型交换在离线时的本地 SQLite 支持和在线时基于 REST 的服务器存储之间透明地切换。我不确定这是最好的方法,但这是我这么晚能想到的最好方法。这不是你通常想要在项目代码中做的事情,因为一旦你开始在多层上进行这种间接的调试,调试起来就很困难,但是当你将它保存在库中时,它也不错。
另一个不太有用的优点是它允许您设计自己的类系统。我说没那么有用,因为或多或少所有的 javascript 库都有自己的稍微不兼容的方法来组合“类”。
有很多人回复说他们将继承模型与该模型中实现的语言混合在一起。 JavaScript 是动态的、弱类型的,因此很难使用工具,这一事实与它作为一种原型语言无关。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)