![]() |
наследование, одна переменная у родителя - у детей эта переменная разная
Сделал базовый класс Button, который содержит определенный набор свойств и методов
Код AS3:
И два класса, которые будут наследовать методы и свойства от этого класса, вот только переменная pict должна стать другой. Код AS3:
Код AS3:
|
Перенесите создание экземпляров картинок в конструкторы.
|
переписал таким образом.
Проблема в том, что он работает только с теми экземплярами, которые создал в конструкторе базового класса. А мне нужно, чтобы всё то, что проделывается в конструкторе базового класса, проходило с переменными созданными в детях. Код AS3:
Код AS3:
Код AS3:
И в конструкторе детей вызывать эту функцию... Но что-то мне это не нравится... Мне кажется должно быть иначе... |
Да, вынесите в init(), в наследниках переопределяйте этот метод. Это нормально.
Только не обязательно вызывать в каждом ребенке этот метод. Достаточно только в super (базовом). |
Можно в конструктор параметром передать:
Код AS3:
Код AS3:
|
Но работает правильно только тогда, когда вызываю эту функцию в конструкторе у каждого ребенка. Если вызываю эту функцию в конструкторе базового класса, то он опять работает только с экземплярами созданными в конструкторе базового класса...
|
Наверняка вы не переопределяете метод.
Сейчас набросаю пример на коленке. Одну минуту. Добавлено через 2 минуты Код AS3:
Код AS3:
Код AS3:
|
Inet_PC -
такая же ситуация... работает с экземплярами которые создаются в базовом классе... т.к. конструктор базового класса запускается раньше... Добавлено через 6 минут Тогда получается, что создание экземпляра pict мне в init писать? |
Верно.
|
И не работает. Я сделал изменения в эту сторону.
Error: Access specifiers are not allowed with namespace attributes. Error: Incompatible override. Error: Overriding a function that is not marked for override. Я наверное что-то не так делаю... |
| Часовой пояс GMT +4, время: 10:02. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.