ECMAScriptjavascript 面向对象技术

面向对象术语

对象

ECMA-262
把目标(object)定义为“属性的无序聚集,每个属性存放一个原始值、对象或函数”。严格来说,这意味对象是无一定顺序的值的数组。

尽管 ECMAScript
如此定义对象,但其再也通用的定义是根据代码的名词(人、地点或事物)的意味。

每个对象都出于类似定义,可以把看似看做对象的配方。类不仅使定义对象的接口(interface)(开发者访问的性与道),还要定义对象的里边工作(使属性和艺术发挥作用的代码)。编译器和解释程序都根据类的认证构建对象。

实例

程序用类创建对象时,生成的对象被作类的实例(instance)。对类生成的目标的个数的唯一限制来自于运作代码的机器的物理内存。每个实例的所作所为无异于,但实例处理同组独立的数额。由类创建对象实例的进程叫实例化(instantiation)。

于前面的区块我们涉过,ECMAScript 并无正规的近乎。相反,ECMA-262
把目标定义描述为对象的配方。这是 ECMAScript
逻辑上之平等种植折中方案,因为对象定义实际上是目标自我。即使类并无着实存在,我们为将目标定义为做类,因为多数开发者对这个术语更熟悉,而且于功能及说,两者是当价格的。

面向对象语言的求

相同种植面向对象语言需要往开发者提供四种为主力量:

  1. 封装 – 把有关的信息(无论数额或者艺术)存储在目标被的力
  2. 汇 – 把一个ECMAScript对象存储在外一个目标内之力量
  3. 连续 – 由另外一个像样(或多个像样)得来类的性能和办法的力
  4. 多态 – 编写能因为多智运行的函数或方式的力量

ECMAScript 支持这些要求,因此而于是圈开面向对象的。

目标的重组

以 ECMAScript
中,对象由特性(attribute)构成,特性可是原始值,也得是引用值。如果特性存放的凡函数,它用给当对象的办法(method),否则该特性深受用作对象的性质(property)。