ای سی ایم اسکریپت سمت وارثیت

ਆਪਣੀ ਆਪਣੀ ਟੇਰਮਜ਼

对象

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

尽管 ECMAScript 如此定义对象,但它更通用的定义是基于代码的名词(人、地点或事物)的表示。

每个对象都由类定义,可以把类看做对象的配方。类不仅要定义对象的接口(interface)(开发者访问的属性和方法),还要定义对象的内部工作(使属性和方法发挥作用的代码)。编译器和解释程序都根据类的说明构建对象。

实例

程序使用类创建对象时,生成的对象叫作类的实例(instance)。对类生成的对象的个数的唯一限制来自于运行代码的机器的物理内存。每个实例的行为相同,但实例处理一组独立的数据。由类创建对象实例的过程叫做实例化(instantiation)。

ਪਹਿਲੇ ਚਾਪਟਰ ਵਿੱਚ ਅਸੀਂ ਕਿਹਾ ਹੈ ਕਿ ECMAScript ਪ੍ਰਤੀਕਰਮ ਦੇ ਰੂਪ ਵਿੱਚ ਕੋਈ ਸਰਲ ਵਰਗ ਨਹੀਂ ਹੈ। ਇਸ ਵਾਸਤੇ, ECMA-262 ਆਬਜੈਕਟ ਦੀ ਵਿਆਖਿਆ ਆਬਜੈਕਟ ਦੀ ਰੇਸਪੀਸ਼ਨ ਦੇ ਰੂਪ ਵਿੱਚ ਦਿੱਤੀ ਹੈ। ਇਹ ECMAScript ਦੇ ਤਰਕਸੰਗਤ ਰੂਪ ਵਿੱਚ ਇੱਕ ਮੰਗਣੀ ਹੈ, ਕਿਉਂਕਿ ਆਬਜੈਕਟ ਦੀ ਵਿਆਖਿਆ ਵਾਸਤੇ ਆਬਜੈਕਟ ਹੀ ਹੈ। ਚਾਹੇ ਵਰਗ ਨਾ ਹੋਵੇ, ਵੀ ਅਸੀਂ ਆਬਜੈਕਟ ਦੀ ਵਿਆਖਿਆ ਨੂੰ ਵਰਗ ਦੱਸਦੇ ਹਾਂ, ਕਿਉਂਕਿ ਮਿਆਰੇ ਵਿਕਸਤਾ ਕਰਤਾ ਇਸ ਟੋਰਮ ਨੂੰ ਹੋਰ ਪਛਾਣਦੇ ਹਨ, ਅਤੇ ਫੰਕਸ਼ਨਲ ਤੌਰ 'ਤੇ ਇਹ ਦੋਵੇਂ ਬਰਾਬਰ ਹਨ。

ਓਪਨ ਆਇਰਨਟ ਲਿੰਗਵੇਜ ਦੀਆਂ ਮੰਗਾਂ

ਇੱਕ ਓਪਨ ਆਇਰਨਟ ਲਿੰਗਵੇਜ ਨੂੰ ਵਿਕਸਤਾ ਕਰਨ ਲਈ, ਵਿਕਸਤਾ ਕਰਤਾ ਨੂੰ ਚਾਰ ਬੁਨਿਆਦੀ ਸਮਰੱਥਾਵਾਂ ਪ੍ਰਦਾਨ ਕਰਨੀ ਚਾਹੀਦੀ ਹੈ:

  1. ਸੁਰੱਖਿਆ - ਸਬੰਧਤ ਜਾਣਕਾਰੀ (ਜਾਂ ਮੂਲ ਦਾਤਾ ਜਾਂ ਮੇਥਡ) ਆਬਜੈਕਟ ਵਿੱਚ ਸਟੋਰ ਕਰਨ ਦੀ ਸਮਰੱਥਾ
  2. ਸਮੂਹਕਤਾ - ਕਿਸੇ ਹੋਰ ਆਬਜੈਕਟ ਵਿੱਚ ਇੱਕ ਆਬਜੈਕਟ ਸਟੋਰ ਕਰਨ ਦੀ ਸਮਰੱਥਾ
  3. ਵਿਰਾਸਤ - ਕਿਸੇ ਹੋਰ ਵਰਗ (ਜਾਂ ਕਈ ਵਰਗ) ਤੋਂ ਵਰਗ ਦੇ ਗੁਣ ਅਤੇ ਮੇਥਡ ਲੈਣ ਦੀ ਸਮਰੱਥਾ
  4. ਬਹੁਵਿਧੀ - ਕਈ ਤਰ੍ਹਾਂ ਦੇ ਕੰਮ ਕਰ ਸਕਣ ਵਾਲੇ ਫੰਕਸ਼ਨ ਜਾਂ ਮੇਥਡ ਲਿਖਣ ਦੀ ਸਮਰੱਥਾ

ECMAScript ਇਹਨਾਂ ਮੰਗਾਂ ਨੂੰ ਸਮਰਥਨ ਕਰਦਾ ਹੈ, ਇਸ ਲਈ ਇਹ ਓਪਨ ਆਇਰਨਟ ਲਿੰਗਵੇਜ (ਓਪਨ ਆਇਰਨਟ ਲਿੰਗਵੇਜ) ਮੰਨਿਆ ਜਾ ਸਕਦਾ ਹੈ。

ਆਬਜੈਕਟ ਦੀ ਰਚਨਾ

ECMAScript ਵਿੱਚ, ਆਬਜੈਕਟ ਲੱਛਣ (attribute) ਨਾਲ ਬਣੇ ਹਨ, ਲੱਛਣ ਮੂਲ ਮੁੱਲ ਹੋ ਸਕਦੇ ਹਨ, ਜਾਂ ਹਵਾਲਾ ਮੁੱਲ ਹੋ ਸਕਦੇ ਹਨ। ਜੇਕਰ ਲੱਛਣ ਵਿੱਚ ਫੰਕਸ਼ਨ ਹੈ, ਤਾਂ ਉਹ ਆਬਜੈਕਟ ਦਾ ਮੇਥਡ (method) ਮੰਨਿਆ ਜਾਵੇਗਾ, ਨਹੀਂ ਤਾਂ ਉਹ ਆਬਜੈਕਟ ਦਾ ਗੁਣ (property) ਮੰਨਿਆ ਜਾਵੇਗਾ。