चूंकि कक्षा सहायक केवल एक वर्ग पर लागू होते हैं, इस आधार पर कि कौन सा सहायक क्षेत्र में "निकटतम" है, एक वर्ग बस यह नहीं जान सकता कि एक सहायक मौजूद है। उदाहरण के लिए, आप अपनी इकाई में एक वर्ग सहायक को दूसरी इकाई से कक्षा में "मदद" करने के लिए बना सकते हैं जिसके लिए आपके पास कोई स्रोत नहीं है। दूसरी इकाई में कक्षा में किसी भी सहायक के बारे में कोई जानकारी नहीं है। यदि यह ज्ञान था, तो इसे इसे ध्यान में रखने के लिए पुन: संकलित करना होगा ... जो अगले अंक की ओर जाता है;
इस पर विचार करें: आपके पास एक सामान्य इकाई में घोषित कक्षा हो सकती है जिसका उपयोग आपके पूरे एप्लिकेशन में कई अन्य इकाइयों द्वारा किया जाता है। उन इकाइयों में से प्रत्येक में आप विभिन्न तरीकों और "सहायक" कार्यों के साथ इस आम वर्ग के लिए एक नया सहायक घोषित करते हैं। चूंकि प्रत्येक इकाई अन्य इकाइयों के बारे में कुछ भी नहीं जानता है जो अपने स्वयं के सहायक घोषित करते हैं, डिजाइन द्वारा, किसी भी तरह से सभी सहायकों को सहारा देने का कोई तरीका नहीं है। अब मान लें कि यह आम इकाई अब एक पूर्व संकलित पैकेज सीमा में रहती है।
क्लास हेल्पर्स मोहक छोटे गर्मी हैं। वे प्रसिद्धि और भाग्य का वादा करते हैं, लेकिन अक्सर वे मृत्यु और विनाश को बारिश करते हैं ... आप अपने विल्स पर खुद को छोड़ने के बाद।
इस कारण से, भाषा में उनके परिचय ने एक विशिष्ट ढांचे में कार्यक्षमता को पेश करने के लिए "प्रकट" करने की क्षमता को बहुत विशिष्ट समस्याओं का हल किया। जब तक आप "केवल एक सहायक" नियम का पालन करते हैं, और उस पथ से भटक नहीं जाते हैं, तो आप अपेक्षाकृत बेकार हो सकते हैं। भले ही, आपको इन जलों के माध्यम से नेविगेट करने के लिए बियोवुल्फ़, लियोनाइडस (स्पार्टा के), और फ्रोडो बागिन के संयुक्त आंतों की दृढ़ता की आवश्यकता होगी।
यह देखते हुए कि, यहां आरएडी स्टूडियो टीम पर, हम कभी भी कक्षा सहायक का उपयोग करने के लिए घृणित हैं जहां इसे टाला जा सकता है। और जब हम उन्हें इस्तेमाल करते हैं, एक उचित व्यूह बनाई है इससे पहले कि हम भी शुरू ...
यहां ड्रेगन हो ...
स्रोत
2010-02-10 19:50:54
यह कोई फर्क नहीं पड़ता एक से अधिक सहायक रन टाइम पर परिभाषित किया गया है या नहीं। यदि आप सबसे हाल ही में परिभाषित एक के अलावा एक सहायक द्वारा पेश की गई विधियों का उपयोग करने का प्रयास करते हैं, तो आपका कोड संकलित भी नहीं होगा, इसलिए * कोई * रन टाइम नहीं है। –
@Rob: लिंक किए गए पृष्ठ (टर्बोचार्जिंग डेल्फी 2010) से उद्धरण: "आप एक वर्ग के प्रकार के साथ कई वर्ग सहायकों को परिभाषित और संबद्ध कर सकते हैं" - इसका मतलब यह है कि यदि मैं एक वर्ग के साथ एकाधिक श्रेणी सहायकों को जोड़ता हूं, तो कोड संकलित नहीं होगा अब? – mjn
आप कई सहायक बना सकते हैं, लेकिन एक समय में केवल एक ही प्रभावी होगा। कृपया जिस वाक्य को आपने अभी उद्धृत किया है उसे पढ़ना जारी रखें: "स्रोत कोड में किसी भी विशिष्ट स्थान पर केवल शून्य या एक वर्ग सहायक लागू होता है। निकटतम दायरे में परिभाषित कक्षा सहायक लागू होगा। क्लास हेल्पर स्कोप सामान्य डेल्फी फैशन (यानी दाएं यूनिट के उपयोग खंड में छोड़ा गया) " –