मुझे पता है कि इस तरह के बहुत सारे प्रश्न हैं इसके बहुत सारे अच्छे जवाब हैं। मैंने शास्त्रीय विरासत विधियों, या उन बंद करने के तरीकों आदि को देखने की कोशिश की। किसी भी तरह से मुझे लगता है कि वे मेरे लिए कम या ज्यादा "हैक" विधियां हैं, क्योंकि यह वास्तव में जावास्क्रिप्ट को करने के लिए डिज़ाइन नहीं किया गया है। (अगर मैं गलत हूं तो किसी को भी मेरा स्वागत है)।जावास्क्रिप्ट विरासत
PARENTClass = function (basevar) { do something here; };
PARENTClass.prototype = { a: b, c: d}; // prototype is auto gen
// Inheritance goes here
CHILDClass = function (childvar) { do something; };
CHILDClass.prototype = new PARENTClass(*1); // Actual inheritance to the prototype statement
// Instance
CHILDInstance = new CHILDClass(whatever);
ऊपर मेरी समझ जे एस की विरासत को, किसी भी तरह है: ठीक है, जब तक यह काम करता है, मैं की तरह शास्त्रीय विरासत पैटर्न के साथ पूरा करते हैं। लेकिन एक परिदृश्य मुझे नहीं पता कि कैसे कार्यान्वित किया जाए, यह है कि अगर मैं ऑब्जेक्ट सृजन (यानी, कन्स्ट्रक्टर के भीतर) शुरू करने के लिए कुछ प्रारंभ करना चाहता हूं, और नई वस्तु का तुरंत उपयोग किया जा सकता है .... समस्या पर मेरा चित्रण शायद भी स्पष्ट किया जाना है, तो मेरा पीछा सी # छद्म का उपयोग समझाने के लिए मुझे क्या करना चाहते हैं:
class PARENT {
public PARENT (basevar) { ... }
}
class CHILD : PARENT {
public CHILD (basevar) : PARENT (basevar) // constructor of child, and call parent constructor during construct.
{ ... }
}
किसी कारण के लिए, उन्हें निर्माता में करने के लिए सबसे अच्छा तरीका है डाल लगता है (जैसे init UI तत्व।)। किसी के पास यह विचार है कि मैं इसे कैसे कर सकता हूं।
पीएस: * 1 में, मुझे नहीं पता कि मुझे वहां क्या रखना चाहिए। पीएस 2: उपर्युक्त स्थिति में मुझे पता चला कि jquery.inherit लाइब्रेरी क्या कर सकती है, मुझे आश्चर्य है कि लाइब्रेरी का उपयोग नहीं कर रहा है या नहीं। पीएस 3: या मेरी समझ गलत है। चूंकि जावास्क्रिप्ट ओओपी की नकल करने का इरादा नहीं है (इसलिए मैं इसे हैक कहता हूं), इसे लागू करने के लिए "सही" तर्क क्या है।
चेक इस बाहर: http://stackoverflow.com/questions/7486825/javascript-inheritance/12816953#12816953 –
Object.create उपयोग करें() आधार वर्ग से प्रोटोटाइप वारिस के। इस तरह बेस क्लास में उप-वर्ग में बदल जाते हैं लेकिन दूसरी तरफ नहीं। मेरे ब्लॉग पर अधिक जानकारी: http://ncombo.wordpress.com/2013/07/11/javascript-inheritance-done-right/ – Jon