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

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

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

कक्षा के तरीके बनाम। ऑब्जेक्ट तरीके

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

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

myCheckbox: = TCheckbox। बनाना (निल);

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

instagram viewer

myCheckbox। फिर से रंगना;

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

कक्षा के तरीकों को कक्षा के उदाहरण के बिना कहा जा सकता है (जैसे, "टीसीचेकबॉक्स। सृजन करना")। क्लास के तरीकों को किसी ऑब्जेक्ट से सीधे भी बुलाया जा सकता है (जैसे, "myCheckbox।" कक्षा का नाम")। हालाँकि वस्तु विधियाँ केवल एक वर्ग (उदाहरण के लिए, "myCheckbox) के उदाहरण से कही जा सकती हैं। रीपेंट ")।

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

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

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

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

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

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