Здравствуйте.
Прочитал
статью в учебнике сайта. Написано хорошо, но когда пытаешься применить на практике - ничгео не работает - всё из-за плохого знания языка.
Создал свой
пример (который не работает), для освоения материала - старался сделать его как можно проще.
Есть родительский класс и четыре потомка.
Вопросов много, но постараюсь быть конструктивным.
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');
}
Спасибо