Wednesday 15 January 2014

java - When to use "final" keyword before a class? -


इस सवाल का पहले से ही एक उत्तर है: < / P>

  • 20 उत्तरों

    मुझे पता है कि जब अंतिम खोजशब्द कक्षा से पहले उपयोग किया जाता है, कक्षा को किसी अन्य कक्षा द्वारा विरासत में नहीं लिया जा सकता है।

    लेकिन मैंने कभी भी जावा कोडिंग में अचल वर्गों को छोड़कर इसके असली उपयोग नहीं देखा है।

    क्या वास्तव में कक्षा से पहले अंतिम कीवर्ड का उपयोग करना आवश्यक है?

    और क्या यह जावा भाषा की पुन: उपयोगिता सुविधा को कम नहीं करता?

    अंतिम वर्ग subclassed नहीं किया जा सकता है यह सुरक्षा और दक्षता के कारणों के लिए किया जाता है। जावा एपीआई में कुछ वर्ग अंतिम हैं, उदाहरण के लिए। कभी-कभी सुरक्षा और स्थिरता फिर से प्रयोज्यता की तुलना में अधिक महत्व की है।

    इस के अनुसार:

    आम धारणा यह है कि वर्गों या विधियों को अंतिम रूप देने के लिए संकलक के लिए आसान बनाता है विधि कॉल करने के लिए इनलाइन है, लेकिन यह धारणा गलत है (या बहुत कम से बहुत अधिक अतिरंजित)।

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

    यह भी पढ़ें :

    एक्सटेंशन के लिए सॉफ्टवेयर इकाइयां (कक्षाएं, मॉड्यूल, फ़ंक्शंस, आदि) खुली होनी चाहिए, लेकिन संशोधन के लिए बंद

No comments:

Post a Comment