javascript 面向对象技术

面向对象术语

ECMAScript,对象

ECMA-262
把对象(object)定义为“属性的冬季聚集,每种属性存放几个原始值、对象或函数”。严俊来说,那意味对象是无特定顺序的值的数组。

固然 ECMAScript
如此定义对象,但它更通用的概念是基于代码的名词(人、地方或事物)的意味。

种种对象都由类定义,能够把类看做对象的配方。类不仅要定义对象的接口(interface)(开发者访问的品质和章程),还要定义对象的其甘肃中华工程公司作(使属性和措施发挥作用的代码)。编写翻译器和解释程序都根据类的求证构建对象。

实例

次第行使类创立对象时,生成的目的叫作类的实例(instance)。对类生成的靶子的个数的绝无仅有限制来自于运作代码的机器的情理内部存款和储蓄器。每个实例的作为无差距于,但实例处理一组独立的数量。由类成立对象实例的进度叫抓牢例化(instantiation)。

在前边的章节我们关系过,ECMAScript 并不曾专业的类。相反,ECMA-262
把指标定义描述为对象的配方。那是 ECMAScript
逻辑上的一种折中方案,因为对象定义实际上是目的自作者。就算类并不着实存在,我们也把目的定义叫做类,因为超越52%开发者对此术语更领悟,而且从作用上说,两者是等价的。

面向对象语言的须要

一种面向对象语言需求向开发者提供各个为大将量:

  1. 封装 – 把相关的消息(无论数额或格局)存款和储蓄在目的中的能力
  2. 聚拢 – 把二个对象存款和储蓄在另三个目的内的力量
  3. 再而三 – 由另三个类(或多少个类)得来类的习性和办法的力量
  4. 多态 – 编写能以两种艺术运行的函数或格局的力量

ECMAScript 援助这一个必要,由此可被是用作面向对象的。

对象的组合

在 ECMAScript
中,对象由天性(attribute)构成,本性能够是原始值,也得以是引用值。假若个性存放的是函数,它将被看成对象的法子(method),否则该天性被看作对象的属性(property)。