![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
А ты в Car во всех методах измени speed на getSpeed(), и наслаждайся всеми преимуществами наследования в любом количестве классов-наследников.
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: Feb 2008
Сообщений: 890
|
Цитата:
![]() Во меня заклинило...)) Я Мука дочитал пол года назад, наверное, и точно помнил, что он эту ситуацию описывал, а решение вспомнить никак не мог. Точнее даже вспомнил, но видимо в спешке что-то напортачил, результата нужного не получил и отбросил. Ходил мучился, что Мук в 200 километрах от меня и нельзя его почитать..))) 2Жень Шень: Не понял вашу мысль. Стоял читал, пока ждал своей очереди на сдачу экзамена на права. Сдал. Сейчас пришел домой, еще несколько раз прочитал - все равно не понял... ![]() Объясните поподробней вашу мысль, если не сложно, чтобы у меня недопонимания в этом вопросе не оставалось. На счет Мука... Мук форева! ![]() 2dimarik Цитата:
![]()
__________________
скриптограф |
|
|||||
|
Лучше один раз увидеть... Смотрим аттач.
Потом дабавьте "trace(Car.speed)" Да, пропустил расширение Car до NewCar: но, это не меняет сути. |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Цитата:
Надо просто добавить в классы геттер. class Car { private static var carspeed:Number = 10; public function Car () { } public function get speed ():Number { return carspeed; } public function getSpeed ():Number { return speed; } }
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: Feb 2008
Сообщений: 890
|
Кстати, сам Мук предпочитает ваш первый вариант, а геттеры и сеттеры почему-то недолюбливает - насколько я понял из его книги по ас2
![]()
__________________
скриптограф |
|
|||||
|
Регистрация: Feb 2008
Сообщений: 890
|
Я честно не могу понять, что вы хотите мне показать, извините. То, что вы написали раньше, я уже опробовал, посмотрел аттач - там все то же самое...))
Не могу понять, чего я не вижу, а вижу вот что: класс Car определяет статпеременную speed = 10; он же определяет функцию getSpeed(), возвращающую эту переменную класс NewCar определяет свою статпеременную speed=50; он же переопределяет ф-ию getSpeed() => она возвращает уже 50; trace(Car.speed) напрямую обращается к статпеременной из Car (она хоть и прайвэт, но т.к. NewCar - подкласс, то имеет к ней доступ и выдает 10). У вас доступа не было из-за того, что один класс не расширял другого.
__________________
скриптограф Последний раз редактировалось orcpochta; 22.08.2009 в 06:54. |
|
|||||
|
Извините, я неправильно понял вопрос, а значит был неправ.
Исходя из теперь правильно понятой задачи, могу предложить следующее: Функции использующие speed в классе Car должны знать кто их вызывает (экземпляр какого класса-подкласса). Поэтому введя некий признак (например, myName) можно использовать то или иное значение скорости. Конечно, надо переделать все 25 функций основного класса(!). Последнее слово за вами. |
|
|||||
|
.
|
Выше я указывал на подход к _проектироаванию_. Ну, бл, любой CAr имеет свой спиид. Завтра, Вам, дорогой товарищ, понадобится развести группы по скоростям, отдельно для _каждаго_ "свои", отдельно для _каждаго_ "enemy". Я сплю и вижу тучу танков, но они движутся каждый сам по себе.
А теперь все вместе начинаем думать о "Вы сейчас мыслите категориями физической привязки моделей в каком-то приложении.". Разом! И вообще о "категориях" мышления. Вы Гёте читали? Последний раз редактировалось dimarik; 23.08.2009 в 17:39. |
|
|||||
|
Регистрация: Feb 2008
Сообщений: 890
|
Я указал в начале конкретную задачу, вы вклинились со своей репликой про у каждого может быть своя скорость, я вам ответил, что вы мыслите конкретно под физ. модель, ибо я нигде не давал повод думать, что у каждого может быть своя скорость и, чтобы окончательно развеять ваш порыв, привел конкретный свой пример. У вас проблемы с логикой?
__________________
скриптограф |
![]() |
![]() |
Часовой пояс GMT +4, время: 03:27. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|