![]() |
Помогите разобраться с наследованием и переопределением
Доброго!
Пришло время повторного использования классов и переопределение методов, но вот беда, я так и не понял как это правильно делать вот отрывок класса родителя Код AS3:
Код AS3:
|
переопределять можно только методы.Решение - описывай свой спрайт как private var sprite:MovieClip и выноси его инициализацию в конструктор/спец. метод(типа init)
Добавлено через 3 минуты ПС: в конструкторе класса-наследника принято вызывать конструктор супер-класса.(относится к обоим классам) |
Можно сделать sprite protected и инициализировать его, например, в конструкторе Fatso().
Больше ничего не нужно. Хотя, тогда не понятно, зачем делать отдельный класс ради изменения одной переменной |
я так сделал, заработало, лучше как можно?
Код AS3:
Код AS3:
|
neonoviiwolf, можно, но смысл происходящего не понятен.
|
Цитата:
|
непонятно зачем тут наследование.Если объекты будут отличаться только этим спрайтом, лучше сделать один класс с возможностью устанавливать ему это свойство.
|
Цитата:
|
Цитата:
|
Еще раз:
Переопределение касается методов, функций, действий. НЕ свойств. Если ваши юниты будут ПО-РАЗНОМУ выполнять команду стреляй(), то смысл есть. Если разница будет только в том, что один делает стреляй(простоПуля) а другой стреляй(серебрянаяПуля), то разница опять только в свойствах и переопределение не нужно. Если выполняются одни и те же действия, но с разными объектами или параметрами, то они так и остаются одними и теми же действиями. Поэтому, чтобы разбираться с темой топика, нужен правильный пример, где действительно используется переопределение метода. Иначе будет только путаница. |
| Часовой пояс GMT +4, время: 11:10. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.