javascript - 基于原型(prototype)的面向对象。黄金三镖客?

标签 javascript python language-agnostic lua oop

我来自类面向对象语言,最近我一直在学习那些花哨的动态语言(JavaScript、Python 和 Lua),我想要一些关于如何在这些语言中使用 OO 的技巧。了解这种方法的缺陷和缺点以及与传统 OO 相比的优点将很有用。

我得到的一般概念是,基于原型(prototype)的 OO 基本上是使用对象进行编程,但没有关于如何使用它们的标准,而在普通的 OO 中,有一种固定的预定义方法来创建和使用对象。

总而言之,这种方法的优缺点是什么?

最佳答案

基于原型(prototype)的 OO 不太适合静态类型检查,有些人可能认为这是一件坏事或丑陋的事情。基于原型(prototype)的 OO 确实有创建新对象的标准方法,您可以克隆和修改现有对象。还可以 build 工厂等。

我认为人们最喜欢(“好”)的是基于原型(prototype)的 OO 非常轻量级和灵活,提供非常高的功率重量比.

对于关于如何使用基于原型(prototype)的 OO 的提示,一个很好的起点是 The Power of Simplicity 上的原始 Self 论文。 .

关于javascript - 基于原型(prototype)的面向对象。黄金三镖客?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/385403/

相关文章:

javascript - JavaScript 中的幻灯片无法正常工作

Python - PIL - 丢失图像

python - 当代码在 Linux 上运行良好时 Windows 上的编码错误

function - 良好的编码习惯 : When to Create New Functions

javascript - 显示一个隐藏的 div,同时隐藏另一个

javascript - 如何更新子组件的状态以独立拖动它们

python - ubuntu nohup 不工作

database - 世界上所有道路的数据源?

c++ - 在与多个字段进行比较时提供严格的排序

javascript - 完成测验后将 JavaScript 值传递给 PHP