vb.net Constructor in hindi:-
vb.net Constructor एक स्पेशल मेम्बर method है जिसका प्रयोग क्लास के variables को initialize करने के लिए होता है।
Constructor, class की एक स्पेशल procedure है। हर बार जब class का कोई object create होता है तो class के जितने member वेरिएबल्स है उनको initialize करने के लिए उस समय पर constructor अपने आप call होता है.
उसे क्लास का ‘ फंक्शन ‘ नहीं बोल सकते क्योंकि वो कुछ return नहीं करता और VB.NET में फंक्शन यानि की method जो कोई वैल्यू return करे ।
types of vb.net constructor in hindi :-
जैसे class के मेम्बर्स ( वेरिएबल्स और methods ) 2 प्रकार के होते है वैसे ही vb.net Constructor के भी 2 प्रकार होते है:-
1:- Instance Constructor
2:- Shared Constructor
Instance Constructor:-
Instance वेरिएबल्स को starting वैल्यू असाइन करने के लिए इसका प्रयोग किया जाता है.
VB.NET में constructor को डिफाइन करने के लिए New कीवर्ड का यूज़ किया जाता है।
vb.net Constructor को डिफाइन करने का example:
Class Student
Private sub1Mark As Integer
Private sub2Mark As Integer
Private sub3Mark As Integer
Private totalMarks As Integer
Pubic Sub New()
totalMarks = 0
End Sub
Sub Main()
Dim student1 As Student = New Student () ‘ यहाँ पे constructor कॉल होगा‘ और student1 ऑब्जेक्ट के totalMarks variable को 0 वैल्यू असाइन होगी।
End Sub
End Class
यहाँ पर हमने स्टुडेंट एक्सामिनेशन सिस्टम का उदाहरण लिया है। इस सिस्टम में हमने Student क्लास डिफाइन किया है। हम ऐसा console application बना रहे है जिसमें स्टुडेंट्स के अलग अलग सब्जेक्ट के मार्क्स की मदद से टोटल मार्क्स और उसके ऊपर से ग्रेड decide कर सकते है।
इस एप्लीकेशन के लिए मैंने totalMarks नाम का एक वेरिएबल डिफाइन किया है। इस वेरिएबल की वैल्यू यूजर enter नहीं करेगा। जब यूजर सारे individual सब्जेक्ट के मार्क्स insert करेंगे तब उनको जोड़ करके totalMarks calculate हो जाएंगे। इसलिए शुरुआत में उसे 0 assign कर सकते है। ये काम इस code snippet में constructor का यूज़ करके हो रहा है ।
Shared Constructor : Shared Constructor का प्रयोग करके class के shared वेरिएबल्स को initialize किया जा सकता है।
जैसे कि : अगर हम इसी एप्लीकेशन के बारे में सोचे तो हम एक ऐसा वेरिएबल डिफाइन कर सकते है जो count करेगा कितने स्टूडेंट्स के मार्क्स एंटर किये गए है। इस वेरिएबल को हमें class के shared वेरिएबल के तौर पर define करना पड़ेगा क्योंकि उसकी एक ही कॉपी होनी चाहिए जिससे मालूम होगा कि टोटल कितने स्टुडेंट्स exam में appear हुए थे। इस वेरिएबल को अगर initial वैल्यू असाइन करनी है तो इसको हम following कोड से प्राप्त कर सकते है :
Class Student
Private sub1Mark As Integer
Private sub2Mark As Integer
Private sub3Mark As Integer
Private totalMarks As Integer
Public Shared studentCount As Integer
Shared Sub New ()
studentCount = 0
End SubPubic Sub New()
studentCount = studentCount + 1
totalMarks = 0
End SubSub Main()
Dim student1 As Student = New Student ()
Dim student2 As Student = New Student ()
End Sub
End Class
यहाँ मैंने एक और constructor define किया है जो shared वेरिएबल को initialize करता है। अभी इस shared constructor की खासियत ये है कि program के execution के टाइम वो सिर्फ एक बार कॉल होता है जब की instance constructor जितनी बार नया ऑब्जेक्ट create करेंगे उतनी बार कॉल होगा। तो इसी लिए मैंने स्टार्टिंग का studentCount है वो 0 सेट कर दिया है। जब भी पहला ऑब्जेक्ट create होगा उस टाइम ये shared constructor सबसे पहले कॉल होगा। उसके बाद instance constructor कॉल होगा। तो उस constructor में मैंने एक लाइन ऐड कर दी है : studentCount = studentCount + 1
इसका use ये है की जितनी बार कोई नया ऑब्जेक्ट create होगा उस टाइम ये constructor कॉल होगा और वो existing studentCount में एक add करेंगा।
जब हम पहला ऑब्जेक्ट बनाएंगे Student class का (student1) उस टाइम सबसे पहले Shared Constructor कॉल होगा और studentCount को 0 सेट करेगा। उसके बाद इंस्टैंस constructor कॉल होंगा और वो studentCount में एक ऐड करेगा जिससे studentCount = 1 हो जाएगा।
जब हम Main procedure में नया ऑब्जेक्ट बनाएंगे student2 तो उस टाइम सिर्फ इंस्टैंस constructor कॉल होगा क्योंकि shared constructor तो एक बार कॉल हॉ चुका है। तो यहाँ पर instance variable कॉल होगा और studentCount = 1 + 1 = 2 होगा। इसका मतलब अब तक Student क्लास के २ ऑब्जेक्ट हमने बनाये है जो कि सही है।
parameterized constructor:-
अभी तक हमने जो constructor देखे उनमें हम कोई पैरामीटर पास नहीं कर रहे थे। उन्हें डिफ़ॉल्ट या तो non-argument constructor भी बोलते है।
अगर हमें मेंबर वेरिएबल्स को इनिशियलाइज़ करने के लिए कोई पैरामीटर पास करना है तो हम वो भी कर सकते है। जैसे हम किसी method में पैरामीटर पास करते है उसी तरह से constructor में भी पैरामीटर्स पास कर सकते है। उसे parameterized constructor कहा जाता है। और वो shared या instance दोनों constructors के लिए प्रयोग किया जाता है।
parameterized constructor का example :
हम एक system बना रहे है जिसमें ये decide करते है कि employee को सैलरी कितनी देनी है । जैसे की यहाँ पर एक employee के लिए एक fix amount प्रति घंटे के लिए 1000 decide की है.
तो इसको हम क्लास में implement करे तो इस 1000 को हम पैरामीटर के तौर पर ऑब्जेक्ट create करते समय पास कर सकते है।
Class Employee
Private employee_Id As Intege
Private hourlyPay As Integer
Pubic Sub New(ByVal empId As Integer, ByVal amt As Integer)
employee_Id = empId
hourlyPay = amt
End SubSub Main()
Dim employee1 As Employee = New Employee (1201, 1000)
End Sub
End Class
यहाँ हमने Employee क्लास डिफाइन किया है जिसमें अभी के लिए उसका id और hourly rate सेव करते है । तो हर employee के लिए अगर मुझे ये वैल्यूज constructor का यूज़ करके insert करनी है तो मै उन्हे पैरामीटर्स के तौर पर पास करूँगा जैसे की मुझे employee का id 1201 और hourlyPay 1000 सेट करना है तो मैंने ये वैल्यूज ऑब्जेक्ट create करते समय pass की है ताकि जब employee1 नाम का ऑब्जेक्ट create हो और उसका constructor कॉल हो तब ये values उसमें पास हो। इस तरह से हम parameterized constructor का प्रयोग करके initialization के टाइम पर वेरिएबल्स को वैल्यू असाइन कर सकते है।
निवेदन:- तो ये थे vb.net constructor के टाइप्स और उसके examples अगर आपके यह पोस्ट अच्छी लगी तो हमें कमेंट के द्वारा बताइए तथा इस पोस्ट को अपने दोस्तों के साथ share करें. धन्यवाद.