Всем привет. ООП в Javascript начал изучать недавно, все делал по мануалам. Возникла проблема, которую я не понимаю, но возможно, местные гуру помогут решить этот вопрос. Имеется базовый класс Bote, и класс, который его расширяет - FreeBitcoinAccountController.
Код класса Bote:
function Bote() {
this.accounts = {};
//...остальной код...
this.enabled = false;
}
Bote.prototype.init = function () {
//... остальной код функции ...
this.log('Бот загружен');
};
Код класса FreeBitcoinAccountController:
function FreeBitcoinAccountController() {
//...остальной код...
Bote.apply(this);
}
FreeBitcoinAccountController.prototype.init = function () {
alert();//Bote.prototype.init.call(this);
//...остальной код...
this.main();
};
FreeBitcoinAccountController.prototype = Object.create(Bote.prototype);
FreeBitcoinAccountController.prototype.constructor = FreeBitcoinAccountController;
Далее создаю экземпляр класса, и вызываю метод init, но он почему-то вызывается из базового класса Bote, а не из FreeBitcoinAccountController. А когда переименовываю метод init в Bote, то вываливается ошибка, что метод не найден. Если я не ошибся, должно ведь происходить наследование класса, разве нет? И метод init должен вызываться из FreeBitcoinAccountController, даже если его нет в классе Bote (тем более, что класс Bote вообще не создается)