टाइपस्क्रिप्ट इंटरफ़ेस बनाम क्लास के बीच अंतर
एक इंटरफेस उस संरचना को परिभाषित करता है जो क्लास प्राप्त करने के बाद होता है। यह एक अनुबंध है जिसके बाद किसी भी इकाई का अनुसरण किया जाता है, इंटरफ़ेस में गुणों, और घटनाओं, विधियों के रूप में कई चीजें होती हैं, और इन सभी को इंटरफ़ेस के सदस्य कहा जाता है। एक इंटरफ़ेस में इन सदस्यों की एकमात्र घोषणा होती है, इन सदस्यों को उस इंटरफेस के क्लास को प्राप्त करके कार्यान्वित किया जाएगा। अंतरफलक घोषित करने के लिए इंटरफ़ेस कीवर्ड का उपयोग किया जाता है।
इंटरफ़ेस घोषणा उदाहरण।
Syntax:
interface interface_name
{
}
interface Employee {
firstName:string,
lastName:string,
sayHello: ()=>string
}
var customer: Employee = {
firstName:”Tom”,
lastName:”Hanks”,
sayHello: ():string =>{return “Hi there”}
}
console.log(“Customer Object “)
console.log(customer.firstName)
console.log(customer.lastName)
console.log(customer.sayHello())
ऊपर उदाहरण एक इंटरफ़ेस परिभाषित करता है। ग्राहक वस्तु प्रकार के कर्मचारी है।
यह अब इंटरफ़ेस द्वारा निर्दिष्ट सभी गुणों को परिभाषित करने के लिए ऑब्जेक्ट पर बाध्यकारी होगा।
संकलन पर यह नीचे दिया गया निम्नलिखित जावास्क्रिप्ट कोड उत्पन्न करेगा।
// टाइपस्क्रिप्ट 1.8.10 द्वारा जेनरेट किया गया
var customer = { firstName: “Tom”, lastName: “Hanks”,
sayHello: function () { return “Hi there”; }
};
console.log(“Customer Object “);
console.log(customer.firstName);
console.log(customer.lastName);
console.log(customer.sayHello());
The output of the above example code: −
Customer object
Tom
Hanks
Hi there
क्लास किसी वस्तु के लिए एक ब्लूप्रिंट है; यह ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग भाषा की अवधारणा है । एक क्लास ओओपी की एनकॅप्सुलेशन सुविधा प्रदान करता है। यह डेटा सदस्यों और विधियों और रचनाकारों को एकल एकजुट में लपेटता है जिसे क्लास कहा जाता है, इस तरह यह एनकॅप्सुलेशन प्रदान करता है। पहले की क्लास को टाइपस्क्रिप्ट द्वारा समर्थित नहीं किया गया था , इसे टाइपस्क्रिप्ट के ईएस 6 संस्करण से समर्थन मिला। क्लास कीवर्ड का उपयोग टाइपस्क्रिप्ट में क्लास बनाने के लिए किया जाता है।
Syntax:-
class class_name {
//to do
}
एक क्लास में डेटा के सदस्य, विधियां और कन्स्ट्रक्टर होते हैं;
डेटा सदस्यों को एक क्षेत्र के रूप में भी जाना जाता है, यह किसी क्लास द्वारा बनाई गई वस्तु के गुणों का प्रतिनिधित्व करता है
एक उचित टाई किसी ऑब्जेक्ट की स्थिति होती है, जैसे कि कलम का रंग, ऊंचाई, चौड़ाई को किसी ऑब्जेक्ट के गुण के रूप में बुलाया जाएगा।
विधियां किसी ऑब्जेक्ट के व्यवहार का प्रतिनिधित्व करती हैं जैसे कलम कार्यक्षमता लिख रही है, कॉफी मशीन विभिन्न प्रकार की कॉफी बना सकती है जिसे इसे किसी ऑब्जेक्ट के व्यवहार के रूप में जाना जाता है।
रचनाकारों का उपयोग परिभाषित क्लास के लिए एक वस्तु उत्पन्न करने के लिए किया जाता है, ताकि इसे आवश्यक स्थानों के रूप में उपयोग किया जा सके। यह क्लास के क्षेत्र को शुरू करने के लिए भी जिम्मेदार है।
इन सभी तीनों को एक क्लास का सदस्य कहा जाता है जो क्लास द्वारा एक इकाई में एनकॅप्सुलेटेड है।
टाइपस्क्रिप्ट में एक क्लास कर्मचारी पर विचार करें।
Class Employee {
}
संकलन पर, यह निम्नलिखित जावास्क्रिप्ट कोड उत्पन्न करेगा।
// टाइपस्क्रिप्ट 1.8.10 द्वारा जेनरेट किया गया
ar Employee = (function () {
function Employee() {
}
Return Employee;
}());
Example: Declaring a class
class CarDemo {
//field declaration
engine:string;
//constructor declaration
constructor(engine:string) {
this.engine = engine
}
//function declaration
show():void {
console.log(“Engine is : “+this.engine)
}
}
उपर्युक्त उदाहरण में क्लास नाम कारडेमो है, जिसमें फ़ील्ड नेम इंजन है जिसमें कंस्ट्रक्टर है जो फ़ील्ड नेम इंजन शुरू कर रहा है, यह कीवर्ड वर्तमान क्लास इंस्टेंस को संदर्भित करता है, यही कारण है कि यह। इंजन = इंजन लिखा गया है, जिसमें एक विधि का नाम है – दिखाएं जो फ़ील्ड मान दिखा रहा है जिसे एक निर्माता द्वारा प्रारंभ किया गया है।
उपर्युक्त कोड का संकलन, यह निम्नलिखित जावास्क्रिप्ट कोड उत्पन्न करेगा।
// टाइपस्क्रिप्ट 1.8.10 द्वारा जेनरेट किया गया
var CarDemo = (function () {
function CarDemo(engine) {
this.engine = engine;
}
CarDemo.prototype.show = function () {
console.log(“Engine is : ” + this.engine);
};
return CarDemo;
}());
उपरोक्त वर्ग की इंस्टेंस ऑब्जेक्ट्स बनाना
क्लास का एक उदाहरण बनाने के लिए, क्लास का नाम के बाद इस्तेमाल किया गया नया कीवर्ड। इसके लिए वाक्यविन्यास नीचे दिया गया है –
Syntax
var object_name = new class_name([ arguments ])
नया कीवर्ड तत्काल के लिए ज़िम्मेदार है।
अभिव्यक्ति का दायां हाथ कन्स्ट्रक्टर को आमंत्रित करता है। यदि यह पैरामीटरकृत है तो कन्स्ट्रक्टर को मानों को पारित किया जाना चाहिए।
/creating an object
var obj = new CarDemo(“XXSY1”);
//access the field
console.log(“Reading attribute value Engine as : ” + obj.engine);
//access the function
obj.show();
उपर्युक्त कोड का आउटपुट निम्नानुसार है –
XXSY1 के रूप में विशेषता मूल्य इंजन को पढ़ना
फंक्शन डिस्प्ले इंजन है: XXSY1
टाइपस्क्रिप्ट इंटरफ़ेस बनाम क्लास के बीच हेड टू हेड तुलना
टाइपस्क्रिप्ट इंटरफ़ेस बनाम क्लास के बीच शीर्ष 4 अंतर नीचे दिया गया है
टाइपस्क्रिप्ट इंटरफ़ेस बनाम क्लास के बीच महत्वपूर्ण अंतर
टाइपस्क्रिप्ट इंटरफ़ेस बनाम क्लास के बीच नीचे कुछ महत्वपूर्ण अंतर समझाए गए हैं
- इंटरफ़ेस उस इंटरफ़ेस की क्लास को प्राप्त करने के लिए संरचित परिभाषित करता है। इंटरफेस में सदस्य फ़ंक्शंस की एकमात्र घोषणा होती है।
- क्लास इंटरफेस के कार्य को शरीर देकर इंटरफ़ेस संरचना को कार्यान्वित करने के लिए ज़िम्मेदार है, यह डेटा सदस्यों के रैपिंग द्वारा एनकॅप्सुलेशन प्रदान करता है, एक बॉक्स में कार्य करता है जिसे इस तरह से क्लास कहा जाता है, यह ओपीपी की एनकॅप्सुलेशन सुविधाओं प्रदान करता है ।
- इंटरफ़ेस कीवर्ड का उपयोग इंटरफ़ेस बनाने के लिए किया जाता है जिसमें डेटा सदस्य, फ़ंक्शंस होते हैं।
- क्लास कीवर्ड का उपयोग क्लास बनाने के लिए किया जाता है जिसमें डेटा सदस्य, कार्य, रचनाकार शामिल होते हैं।
- कोड के संकलन के दौरान इंटरफ़ेस पूरी तरह से हटा दिया गया।जबकि क्लास कोड के संकलन के दौरान हटा नहीं है।
- एक इंटरफ़ेस कीवर्ड को विस्तारित करके एक और इंटरफ़ेस बढ़ा सकता है इस प्रकार इंटरफ़ेस विरासत प्रदान करता है। इंटरफेस क्लास को विस्तारित नहीं करता है, यह क्लास के लिए संरचना को परिभाषित करता है।एक साथ कई इंटरफेस को विस्तारित करके इंटरफ़ेस समर्थन एकाधिक विरासत।
- क्लास कीवर्ड को कार्यान्वित करके इंटरफ़ेस लागू करती है, क्लास विस्तारित कीवर्ड का उपयोग करके अन्य वर्ग को भी बढ़ा सकती है इस तरह बाल वर्ग अभिभावक वर्ग का उपयोग कर सकता है इस सुविधा को विरासत कहा जाता है, क्लास एकाधिक विरासत का समर्थन नहीं करती है क्योंकि एक समय में क्लास द्वारा लागू एक इंटरफ़ेस इंटरफ़ेस के साथ यह संभव है।
टाइपस्क्रिप्ट इंटरफ़ेस बनाम क्लास के बीच तुलना
आइए टाइपस्क्रिप्ट इंटरफ़ेस बनाम क्लास के विस्तृत विवरण देखें
टाइपस्क्रिप्ट इंटरफ़ेस बनाम क्लास के बीच तुलना का आधार | इंटरफेस | क्लास |
परिभाषा | इंटरफ़ेस एक संरचना को परिभाषित करता है जिसके बाद क्लास प्राप्त होती है। | यह डेटा सदस्यों और विधियों और रचनाकारों को एकल एकजुट में लपेटता है जिसे क्लास कहा जाता है। |
प्रयोग | एक इकाई के लिए संरचना बनाने के लिए। | ऑब्जेक्ट सृजन, फ़ील्ड, विधि के लिए एनकॅप्सुलेशन |
वास्तविक समय उपयोग | डिजाइन पैटर्न, डिजाइनिंग परियोजना संरचना | परिभाषित आर्किटेक्चर के कार्यान्वयन |
निर्माण कुंजीशब्द | अंतरफलक कीवर्ड का उपयोग इंटरफेस बनाने के लिए किया जाता है। | क्लास का उपयोग क्लास बनाने के लिए किया जाता है। |
निष्कर्ष
टाइपस्क्रिप्ट इंटरफ़ेस बनाम क्लास दोनों के पास सॉफ्टवेयर विकास क्षेत्र में एक अलग उद्देश्य है । इंटरफ़ेस क्लास के लिए संरचनात्मक भवन ब्लॉक प्रदान करता है, जबकि ये संरचना क्लास द्वारा बनाई गई क्लास के किस क्लास के माध्यम से लागू होती है।
हम डेवलपर द्वारा भविष्य में विकसित सॉफ्टवेयर की मूल संरचना विकसित करने के लिए इंटरफ़ेस का उपयोग करेंगे, क्लास इंटरफ़ेस की विधि प्रदान करके इंटरफ़ेस लागू करती है। इंटरफ़ेस निर्माण सॉफ़्टवेयर विकास के शुरुआती चरण में आसान है जब आवश्यकता स्पष्ट नहीं होती है क्योंकि यह बदलने के लिए लचीलापन प्रदान करती है, क्योंकि इसे क्लास द्वारा लागू किया जाएगा।
अनुशंसित लेख
यह टाइपस्क्रिप्ट इंटरफ़ेस बनाम क्लास के बीच शीर्ष अंतर के लिए एक मार्गदर्शक रहा है। यहां हम इन्फोग्राफिक्स, और तुलना तालिका के साथ टाइपस्क्रिप्ट इंटरफ़ेस बनाम क्लास के प्रमुख अंतरों पर भी चर्चा करते हैं। आप भी निम्नलिखित लेखों पर एक नज़र डाल सकते हैं –