पिछले उदाहरण में मानक तरीकों का उपयोग दिखाया गया था, लेकिन व्यावहारिक परिदृश्य में नहीं।
श्रृंखला इंटरफ़ेस का व्यापक रूप से उपयोग किया गया था, कई कार्यक्रम इस पर निर्भर थे।
यह पाया गया कि श्रृंखला के कई कार्यान्वयनों ने एक विधि जोड़ी जो श्रृंखला के अगले n तत्वों के साथ एक सरणी लौटाती है।
गेटनेक्स्टएरे(इंट एन) विधि के साथ श्रृंखला इंटरफ़ेस में सुधार करने का निर्णय लिया गया, जहां एन पुनर्प्राप्त किए जाने वाले तत्वों की संख्या निर्दिष्ट करता है।
मानक तरीकों से पहले, इस विधि को जोड़ने से मौजूदा कोड टूट जाएगा जो इसे परिभाषित नहीं करता है।
मानक विधियों के साथ, मौजूदा कोड में समस्या पैदा किए बिना नई विधि को श्रृंखला इंटरफ़ेस में जोड़ा जा सकता है।
कुछ मामलों में, इंटरफ़ेस में जोड़े गए मानक तरीके उपयोग किए जाने पर त्रुटि की रिपोर्ट करते हैं, जब सभी स्थितियों में काम करने वाला कार्यान्वयन प्रदान करना संभव नहीं होता है।
ये डिफ़ॉल्ट विधियां वैकल्पिक कोड को परिभाषित करती हैं।
कुछ मामलों में, किसी भी स्थिति में काम करने के लिए एक डिफ़ॉल्ट विधि को परिभाषित किया जा सकता है।
getNextArray() विधि एक उदाहरण है, क्योंकि इसे सीरीज इंटरफ़ेस के लिए पहले से ही आवश्यक getNext() विधि का उपयोग करके कार्यान्वित किया जा सकता है।
श्रृंखला के नए संस्करण को मानक विधि getNextArray() के साथ लागू करना संभव है।
मानक getNextArray() विधि getNext() विधि का उपयोग करके कार्यान्वित की जाती है, जो पहले से ही मूल श्रृंखला विनिर्देश में मौजूद है।
श्रृंखला लागू करने वाला कोई भी वर्ग विधि को ओवरराइड किए बिना getNextArray() का उपयोग कर सकता है।
getNextArray() जोड़ने से मौजूदा कोड अमान्य नहीं होगा।
यदि आवश्यक हो तो कक्षाएं getNextArray() का अपना कार्यान्वयन प्रदान कर सकती हैं।
मानक विधि के लाभ:
मौजूदा कोड को अमान्य किए बिना इंटरफेस को विकसित करने की अनुमति देता है।
प्लेसहोल्डर कार्यान्वयन की आवश्यकता के बिना वैकल्पिक कार्यक्षमता प्रदान करता है।
getNextArray() के मामले में, यदि किसी श्रृंखला कार्यान्वयन को विधि की आवश्यकता नहीं है, तो उसे प्लेसहोल्डर कार्यान्वयन प्रदान करने की आवश्यकता नहीं है, जिसके परिणामस्वरूप क्लीनर कोड प्राप्त होता है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3