ईसीएमएससी ओब्जेक्ट ऑरिएंटेड टेक्नोलॉजी

ओब्जेक्ट ओरिएंटेड टर्मिनोलॉजी

对象

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

इस प्रकार, ईसीमैस्क्रिप्ट ऑब्जैक्ट को परिभाषित करता है, लेकिन इसकी सामान्य परिभाषा वाक्यांश (मानव, स्थान या वस्तु) के रूप में भी है。

क्लास

प्रत्येक ऑब्जैक्ट को क्लास द्वारा परिभाषित किया जाता है, क्लास को ऑब्जैक्ट की रेसिपि के रूप में देखा जा सकता है। क्लास केवल ऑब्जैक्ट के इंटरफेस (interface) (डेवलपर द्वारा पहुँचे जाने वाले गुण और तरीके) को परिभाषित करती है, लेकिन ऑब्जैक्ट के अंतर्गत कार्य (गुण और तरीके को कार्यान्वित करने वाला कोड) को भी परिभाषित करती है। क्लास को डिफ़ाइनिशन के अनुसार ऑब्जैक्ट को बनाने के लिए कम्पाइलर और इंटरप्रेटर ऑब्जैक्ट को बनाते हैं。

उदाहरण

प्रोग्राम को क्लास के द्वारा ऑब्जैक्ट को बनाने के लिए प्रयोग किया जाता है, जो ऑब्जैक्ट का उदाहरण (instance) कहलाता है। क्लास से उत्पन्न होने वाले ऑब्जैक्ट की संख्या का एकमात्र सीमा उस साइट की रणनीतिक स्मृति है जिसे कोड चलाया जा रहा है। हर उदाहरण का व्यवहार एक से एक है, लेकिन प्रत्येक उदाहरण एक स्वतंत्र डाटा समूह का संचालन करता है। क्लास से ऑब्जैक्ट उदाहरण को बनाने की प्रक्रिया को इंस्टैंशिएशन (instantiation) कहा जाता है。

पहले के अध्याय में हमने बताया है कि ईसीमैस्क्रिप्ट औपचारिक क्लास नहीं है। इसके विपरीत, ईसीएमए-262 ऑब्जैक्ट को ऑब्जैक्ट की रेसिपि के रूप में परिभाषित करता है। यह ईसीमैस्क्रिप्ट के तर्कसंगत एक मध्यस्थ समाधान है, क्योंकि ऑब्जैक्ट डिफ़ाइनिशन वास्तव में ऑब्जैक्ट ही है। यदि क्लास वास्तव में मौजूद नहीं है, तब भी हम ऑब्जैक्ट डिफ़ाइनिशन को क्लास कहते हैं क्योंकि अधिकांश डेवलपर इस शब्द को अधिक परिचित समझते हैं और फ़ंक्शनली दृष्टि से दोनों समान हैं।

ओब्जैक्ट-ऑरिएंटेड भाषा की अनुबंध

एक ओब्जैक्ट-ऑरिएंटेड भाषा को डेवलपर को चार बुनियादी क्षमताएँ प्रदान करनी चाहिए:

  1. एकीकरण - संबंधित सूचना (दाता या तरीके) को ऑब्जैक्ट में संग्रहीत करने की क्षमता
  2. एकीकरण - एक ऑब्जैक्ट को दूसरे ऑब्जैक्ट के अंदर संग्रहीत करने की क्षमता
  3. विरासत - एक अन्य क्लास (या कई क्लासों) से क्लास की गुण और तरीके प्राप्त करने की क्षमता
  4. मल्टीपार्टी - फ़ंक्शन या तरीके को अनेक तरीकों से चलने देने की क्षमता

ईसीमैस्क्रिप्ट इन अनुबंधों को समर्थित करता है, इसलिए इसे ओब्जैक्ट-ऑरिएंटेड कहा जा सकता है。

ऑब्जैक्ट की संरचना

ईसीमैस्क्रिप्ट में, ऑब्जैक्ट विशेषताओं (attribute) से बने है, विशेषता आदर्श मूल्य हो सकती है या संदर्भ मूल्य हो सकती है। यदि विशेषता में फ़ंक्शन रखा गया है, तो यह ऑब्जैक्ट के तरीके (method) माना जाएगा, अन्यथा यह विशेषता ऑब्जैक्ट की गुण (property) मानी जाएगी。