सलाह

डेल्फी क्लास के तरीकों को समझना

डेल्फी क्लास के तरीकों को समझना



We are searching data for your request:

Forums and discussions:
Manuals and reference books:
Data from registers:
Wait the end of the search in all databases.
Upon completion, a link will appear to access the found materials.

डेल्फी में, एक विधि एक प्रक्रिया या कार्य है जो किसी ऑब्जेक्ट पर एक ऑपरेशन करता है। एक वर्ग विधि एक विधि है जो एक वस्तु संदर्भ के बजाय एक वर्ग संदर्भ पर संचालित होती है।

यदि आप लाइनों के बीच पढ़ते हैं, तो आप पाएंगे कि जब आप कक्षा (ऑब्जेक्ट) का एक उदाहरण नहीं बना रहे हैं तब भी कक्षा के तरीके सुलभ हैं।

क्लास मेथड्स बनाम ऑब्जेक्ट मेथड्स

हर बार जब आप गतिशील रूप से डेल्फी घटक बनाते हैं, तो आप एक क्लास विधि का उपयोग करते हैं: कंस्ट्रक्टर।

Create constructor एक क्लास मेथड है, जैसा कि वस्तुतः अन्य सभी तरीकों के विपरीत आप डेल्फी प्रोग्रामिंग में करेंगे, जो ऑब्जेक्ट मेथड हैं। एक वर्ग विधि कक्षा की एक विधि है, और उचित रूप से पर्याप्त है, एक वस्तु विधि एक विधि है जिसे कक्षा के एक उदाहरण के द्वारा कहा जा सकता है। यह एक उदाहरण द्वारा स्पष्ट किया गया है, स्पष्टता के लिए लाल रंग में हाइलाइट की गई कक्षाओं और वस्तुओं के साथ:

myCheckbox: = TCheckbox.Create (nil);

यहाँ, कॉल करने के लिए वर्ग नाम और एक अवधि ("TCheckbox") से पहले है। यह कक्षा की एक विधि है, जिसे आमतौर पर एक निर्माता के रूप में जाना जाता है। यह वह तंत्र है जिसके द्वारा एक वर्ग के उदाहरण निर्मित होते हैं। परिणाम TCheckbox वर्ग का एक उदाहरण है। इन उदाहरणों को वस्तु कहा जाता है। निम्नलिखित के साथ कोड की पिछली पंक्ति का विरोध करें:

myCheckbox.Repaint;

यहां, TCheckbox ऑब्जेक्ट (TWinControl से विरासत में मिली) की रेपेंट विधि कहा जाता है। रेपेंट को कॉल ऑब्जेक्ट चर और एक अवधि ("myCheckbox") से पहले होता है।

कक्षा के तरीकों को कक्षा के उदाहरण के बिना कहा जा सकता है (जैसे, "TCheckbox.Create")। क्लास के तरीकों को एक ऑब्जेक्ट से सीधे भी बुलाया जा सकता है (जैसे, "myCheckbox.ClassName")। हालाँकि वस्तु विधियाँ केवल एक वर्ग (उदाहरण के लिए, "myCheckbox.Repaint") के उदाहरण से ही कही जा सकती हैं।

पर्दे के पीछे, निर्माणकर्ता ऑब्जेक्ट के लिए मेमोरी आवंटित कर रहा है (और टीसीचेकबॉक्स या इसके पूर्वजों द्वारा निर्दिष्ट के रूप में किसी भी अतिरिक्त इनिशियलाइज़ेशन का प्रदर्शन कर रहा है)।

अपनी खुद की कक्षा के तरीकों के साथ प्रयोग

AboutBox के बारे में सोचें (एक कस्टम "इस एप्लिकेशन के बारे में" फ़ॉर्म)। निम्न कोड कुछ का उपयोग करता है जैसे:

प्रक्रिया TfrMain.mnuInfoClick (प्रेषक: TObject);
शुरू
AboutBox: = TAboutBox.Create (nil);
प्रयत्न
AboutBox.ShowModal;
आखिरकार
AboutBox.Release;
समाप्त;
समाप्त;यह, ज़ाहिर है, काम करने का एक बहुत अच्छा तरीका है, लेकिन कोड को आसानी से पढ़ने के लिए (और प्रबंधन करने के लिए) बनाने के लिए, इसे बदलने के लिए बहुत अधिक कुशल होगा:

प्रक्रिया TfrMain.mnuInfoClick (प्रेषक: TObject);
शुरू
TAboutBox.ShowYourself;
समाप्त;उपरोक्त पंक्ति TAboutBox वर्ग की "ShowYourself" वर्ग विधि कहती है। "ShowYourself" को कीवर्ड के साथ चिह्नित किया जाना चाहिएकक्षा":

वर्ग प्रक्रिया TAboutBox.ShowYourself;
शुरू
AboutBox: = TAboutBox.Create (nil);
प्रयत्न
AboutBox.ShowModal;
आखिरकार
AboutBox.Release;
समाप्त;
समाप्त;

ध्यान रखने योग्य बातें

  • वर्ग विधि की परिभाषा में परिभाषा या फ़ंक्शन कीवर्ड से पहले आरक्षित शब्द वर्ग शामिल होना चाहिए जो परिभाषा शुरू करता है।
  • AboutBox फ़ॉर्म ऑटो-निर्मित (प्रोजेक्ट-विकल्प) नहीं है।
  • मुख्य फॉर्म के क्लॉज के उपयोग के बारे में AboutBox यूनिट लगाएं।
  • AboutBox इकाई के इंटरफ़ेस (सार्वजनिक) भाग में प्रक्रिया घोषित करना न भूलें।