मुझे नहीं लगता कि मैं आपके आधार पर सहमत हूं, लेकिन प्रोटोटाइप आधारित विरासत का मुख्य लाभ यह है कि यह कक्षा के सभी सदस्यों पर संपत्तियों और विधियों के रनटाइम असाइनमेंट की अनुमति देता है, भले ही उस कक्षा के पहले से ही उदाहरण हैं।
वास्तव में सिद्धांतवादी उन प्रभावों में से कुछ पर क्रिंग करता है। कल्पना करें कि कुछ ऐसा डिबगिंग करें जहां आपको पता नहीं है कि कोड के किस टुकड़े ने आपकी कक्षा संरचना को पूरी तरह से परिभाषित किया है। यह चुनौती से परे है।
लेकिन, मुझे कहेंगे, कि यह उपयोगी सिद्ध हुआ है:
एक बार, जब मैं ActionScript 2 में काम कर रहा था एक ActionScript के अंदर (दिल वालों के लिए नहीं के रूप में यह लगभग एक गैर नियतात्मक भाषा है) 3 कंटेनर इस समस्या का एक अज्ञात दुष्प्रभाव यह है कि यह स्मृति स्तर (मेरी कंपनी के विरासत कोड के लिए आवश्यक कुछ) के विचार को समाप्त करता है। मैं लाइन जोड़ने में सक्षम था: MovieClip.prototype._level0 = _root;
और यह समस्या हल हो गई।
मेरे उपर्युक्त तर्क का मुकाबला करने के लिए, तथ्य यह है कि तथ्य के बाद आप सभी उदाहरणों को संशोधित कर सकते हैं, आपको उन स्थितियों में एक निश्चित मात्रा में शक्ति प्रदान करती है जहां आपके पास मूल कोड आधार (उदाहरण की तरह) तक पहुंच नहीं है, लेकिन मुझे इससे कोई बड़ा फायदा नहीं दिखता है।
यह शायद प्रोग्रामर.स्टैक एक्सचेंज में ले जाया जाना चाहिए। –
@ पॉल: क्यों? यह एक व्यापार मार्गदर्शन/सर्वोत्तम अभ्यास प्रश्न, अधिक सैद्धांतिक नहीं है। कम से कम, मैंने इसे पढ़ा है। –
क्या प्रोग्रामर के बारे में नहीं है? तो मदद के बारे में है, प्रोग्रामर सैद्धांतिक सामान (अन्य चीजों के साथ) के बारे में है। –