Saya telah menghabiskan beberapa jam terakhir mencoba menemukan solusi untuk masalah saya tetapi tampaknya tidak ada harapan.
Pada dasarnya saya perlu tahu cara memanggil metode induk dari kelas anak. Semua hal yang saya coba sejauh ini berakhir dengan tidak berfungsi atau menulis metode induk secara berlebihan.
Saya menggunakan kode berikut untuk mengatur OOP dalam javascript:
// 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);
Saya perlu memanggil metode induk terlebih dahulu dan kemudian menambahkan beberapa hal lagi di kelas anak.
Dalam sebagian besar bahasa OOP yang akan sesederhana memanggil parent.myMethod()
Tapi saya benar-benar tidak dapat memahami bagaimana hal itu dilakukan dalam javascript.
Bantuan apa pun sangat kami hargai, terima kasih!
ParentClass.prototype.myMethod.apply() or
ParentClass.prototype.myMethod.call () `, seperti yang Anda lakukan dengan konstruktor Anda.