मैंने अपनी समस्या का हल खोजने की कोशिश करते हुए आखिरी दो घंटे बिताए हैं लेकिन यह निराशाजनक लगता है।
मूल रूप से मुझे यह जानने की जरूरत है कि बच्चे की कक्षा से माता-पिता की विधि कैसे कॉल करें। मेरे द्वारा अब तक कोशिश की गई सभी चीजें या तो काम नहीं कर रही हैं या मूल विधि को ओवर राइटिंग नहीं कर रही हैं।
मैं जावास्क्रिप्ट में OOP सेट करने के लिए निम्नलिखित कोड का उपयोग कर रहा हूं:
// SET UP OOP
// surrogate constructor (empty function)
function surrogateCtor() {}
function extend(base, sub) {
// copy the prototype from the base to setup inheritance
surrogateCtor.prototype = base.prototype;
sub.prototype = new surrogateCtor();
sub.prototype.constructor = sub;
}
// parent class
function ParentObject(name) {
this.name = name;
}
// parent's methods
ParentObject.prototype = {
myMethod: function(arg) {
this.name = arg;
}
}
// child
function ChildObject(name) {
// call the parent's constructor
ParentObject.call(this, name);
this.myMethod = function(arg) {
// HOW DO I CALL THE PARENT METHOD HERE?
// do stuff
}
}
// setup the prototype chain
extend(ParentObject, ChildObject);
मुझे पहले माता-पिता की विधि को कॉल करने की आवश्यकता है और फिर बच्चे के वर्ग में कुछ और सामान जोड़ना होगा।
अधिकांश ओओपी भाषाओं में जो कॉलिंग के रूप में सरल होगी parent.myMethod()
लेकिन मैं वास्तव में समझ नहीं पा रहा हूं कि इसका जावास्क्रिप्ट में क्या किया गया है।
किसी भी मदद की बहुत सराहना की है, धन्यवाद!
ParentClass.prototype.myMethod.apply() or
ParentClass.prototyp.myMethod.call () `, जैसे आप अपने कंस्ट्रक्टर के साथ करना है।