Наследование классов в JavaScript
Здравствуйте.
Прочитал статью в учебнике сайта. Написано хорошо, но когда пытаешься применить на практике - ничгео не работает - всё из-за плохого знания языка. Создал свой пример (который не работает), для освоения материала - старался сделать его как можно проще. Есть родительский класс и четыре потомка. Вопросов много, но постараюсь быть конструктивным. 1) Как правильно обращаться к методам родителя. Сейчас у меня это получается коряво: // Menu.prototype.eventClickMenuItem self.__proto__.__proto__.actionContentGet(self);; // Green.prototype.actionLoadContent, Red.prototype.actionLoadContent this.__proto__.viewTitle(undefined, color, title); 2) Когда я обращаюсь к родителю метода viewTitle, я вынужден передать переменные как аргументы метода. Можно как то задать в методе actionLoadContent значения свойствам this.color и this.title , и потом уже вытащить эти значения в методе viewTitle? 3) Сейчас, что бы обратиться из родительского класса к методу потомка, я вынужден создать экземпляр класса потомка, и уже из этого экземпляра класса, обратиться к нужному мне методу. При этом если я уйду в метод потомка, я теряю все значения, которые сохранены в свойствах родителя. Что с этим делать? И каждый раз создавая новые экземпляры классов, что происходит со старыми? Удаляются ли "старые" экземпляры класса? Память не страдает? switch(self.color){ case 'red': var model = new Red(); model.actionLoadContent(self.color, self.title); break; case 'green': var model = new Green(); model.actionLoadContent(self.color, self.title); break; case 'yellow': var model = new Yellow(); model.actionLoadContent(self.color, self.title); break; default: throw ('selected unknow color'); } Спасибо |
Faab,
Цитата:
Если нет, то методы родителя вызываются как свои собственные. На остальные вопросы я не могу сформулировать ответ, уверен, кто-нибудь другой вам ответит. |
Часовой пояс GMT +3, время: 02:44. |