আমি আমার সমস্যার সমাধান খুঁজতে গিয়ে বেশ কয়েক ঘন্টা ব্যয় করেছি তবে এটি হতাশ বলে মনে হচ্ছে।
মূলত আমার চাইল্ড ক্লাস থেকে পিতামাতার পদ্ধতিতে কল করতে হবে তা জানতে হবে। আমি এখন পর্যন্ত যে সমস্ত স্টাফ চেষ্টা করেছি সেগুলি কাজ না করা বা মূল পদ্ধতিটি অতিরিক্ত লেখার মধ্যেই শেষ।
আমি জাভাস্ক্রিপ্টে ওওপি সেট আপ করতে নিম্নলিখিত কোডটি ব্যবহার করছি:
// 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
নির্মাণকারীর মতো করে প্যারেন্টক্লাস.প্রোটোটাইপ.মিমেথোডক্যাল () do করতে হবে।