Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 21.08.2009, 15:53
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 1  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
А ты в Car во всех методах измени speed на getSpeed(), и наслаждайся всеми преимуществами наследования в любом количестве классов-наследников.
__________________
Reality.getBounds(this);

Старый 21.08.2009, 20:36
orcpochta вне форума Посмотреть профиль Отправить личное сообщение для orcpochta Найти все сообщения от orcpochta
  № 2  
Ответить с цитированием
orcpochta

Регистрация: Feb 2008
Сообщений: 890
Цитата:
Сообщение от Wolsh Посмотреть сообщение
А ты в Car во всех методах измени speed на getSpeed(), и наслаждайся всеми преимуществами наследования в любом количестве классов-наследников.
Спасибо!!!
Во меня заклинило...)) Я Мука дочитал пол года назад, наверное, и точно помнил, что он эту ситуацию описывал, а решение вспомнить никак не мог. Точнее даже вспомнил, но видимо в спешке что-то напортачил, результата нужного не получил и отбросил. Ходил мучился, что Мук в 200 километрах от меня и нельзя его почитать..)))


2Жень Шень:
Не понял вашу мысль. Стоял читал, пока ждал своей очереди на сдачу экзамена на права. Сдал. Сейчас пришел домой, еще несколько раз прочитал - все равно не понял...
Объясните поподробней вашу мысль, если не сложно, чтобы у меня недопонимания в этом вопросе не оставалось.
На счет Мука... Мук форева!


2dimarik

Цитата:
Можно сделать ее дефолтной.
Извините, не понял, что вы имеете ввиду. Можно подробней?
__________________
скриптограф

Старый 21.08.2009, 22:22
Жень Шень вне форума Посмотреть профиль Отправить личное сообщение для Жень Шень Найти все сообщения от Жень Шень
  № 3  
Ответить с цитированием
Жень Шень
 
Аватар для Жень Шень

блогер
Регистрация: Feb 2004
Адрес: Украина
Сообщений: 1,180
Записей в блоге: 3
Отправить сообщение для Жень Шень с помощью ICQ
Цитата:
Сообщение от orcpochta Посмотреть сообщение
2Жень Шень:
Не понял вашу мысль
Лучше один раз увидеть... Смотрим аттач.
Потом дабавьте "trace(Car.speed)"
Да, пропустил расширение Car до NewCar:
Код AS1/AS2:
class NewCar extends Car{
но, это не меняет сути.
Вложения
Тип файла: rar car.rar (4.2 Кб, 43 просмотров)

Старый 21.08.2009, 20:53
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 4  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Цитата:
Спасибо!!!
Мне очень стыдно - я поспешил, писал уходя с работы и не додумал. На самом деле все еще проще.
Надо просто добавить в классы геттер.
Код AS1/AS2:
class Car {
	private static var carspeed:Number = 10;
 
	public function Car () {
 
	}
	public function get speed ():Number {
		return carspeed;
	}
	public function getSpeed ():Number {
		return speed;
	}
}
Код AS1/AS2:
class NewCar extends Car {
	private static var carspeed:Number = 50;
 
	public function NewCar () {
		super();
	}
	public function get speed ():Number {
		return carspeed;
	}
}
И тогда не надо ничего переписывать. Удачи))
__________________
Reality.getBounds(this);

Старый 21.08.2009, 21:16
orcpochta вне форума Посмотреть профиль Отправить личное сообщение для orcpochta Найти все сообщения от orcpochta
  № 5  
Ответить с цитированием
orcpochta

Регистрация: Feb 2008
Сообщений: 890
Кстати, сам Мук предпочитает ваш первый вариант, а геттеры и сеттеры почему-то недолюбливает - насколько я понял из его книги по ас2
__________________
скриптограф

Старый 21.08.2009, 22:50
orcpochta вне форума Посмотреть профиль Отправить личное сообщение для orcpochta Найти все сообщения от orcpochta
  № 6  
Ответить с цитированием
orcpochta

Регистрация: Feb 2008
Сообщений: 890
Я честно не могу понять, что вы хотите мне показать, извините. То, что вы написали раньше, я уже опробовал, посмотрел аттач - там все то же самое...))

Не могу понять, чего я не вижу, а вижу вот что:
класс Car определяет статпеременную speed = 10;
он же определяет функцию getSpeed(), возвращающую эту переменную
класс NewCar определяет свою статпеременную speed=50;
он же переопределяет ф-ию getSpeed() => она возвращает уже 50;
trace(Car.speed) напрямую обращается к статпеременной из Car (она хоть и прайвэт, но т.к. NewCar - подкласс, то имеет к ней доступ и выдает 10).

У вас доступа не было из-за того, что один класс не расширял другого.
__________________
скриптограф


Последний раз редактировалось orcpochta; 22.08.2009 в 06:54.
Старый 22.08.2009, 16:22
Жень Шень вне форума Посмотреть профиль Отправить личное сообщение для Жень Шень Найти все сообщения от Жень Шень
  № 7  
Ответить с цитированием
Жень Шень
 
Аватар для Жень Шень

блогер
Регистрация: Feb 2004
Адрес: Украина
Сообщений: 1,180
Записей в блоге: 3
Отправить сообщение для Жень Шень с помощью ICQ
Цитата:
Сообщение от orcpochta Посмотреть сообщение
Я честно не могу понять, что вы хотите мне показать
Извините, я неправильно понял вопрос, а значит был неправ.
Исходя из теперь правильно понятой задачи, могу предложить следующее:
Функции использующие speed в классе Car должны знать кто их вызывает (экземпляр какого класса-подкласса). Поэтому введя некий признак (например, myName) можно использовать то или иное значение скорости. Конечно, надо переделать все 25 функций основного класса(!).
Последнее слово за вами.
Вложения
Тип файла: rar rrr2.rar (4.2 Кб, 37 просмотров)

Старый 23.08.2009, 17:03
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 8  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Выше я указывал на подход к _проектироаванию_. Ну, бл, любой CAr имеет свой спиид. Завтра, Вам, дорогой товарищ, понадобится развести группы по скоростям, отдельно для _каждаго_ "свои", отдельно для _каждаго_ "enemy". Я сплю и вижу тучу танков, но они движутся каждый сам по себе.


А теперь все вместе начинаем думать о "Вы сейчас мыслите категориями физической привязки моделей в каком-то приложении.". Разом! И вообще о "категориях" мышления. Вы Гёте читали?
__________________
Воспитан в TimeZero. Работаю в Mail.ru.


Последний раз редактировалось dimarik; 23.08.2009 в 17:39.
Старый 23.08.2009, 18:26
orcpochta вне форума Посмотреть профиль Отправить личное сообщение для orcpochta Найти все сообщения от orcpochta
  № 9  
Ответить с цитированием
orcpochta

Регистрация: Feb 2008
Сообщений: 890
Я указал в начале конкретную задачу, вы вклинились со своей репликой про у каждого может быть своя скорость, я вам ответил, что вы мыслите конкретно под физ. модель, ибо я нигде не давал повод думать, что у каждого может быть своя скорость и, чтобы окончательно развеять ваш порыв, привел конкретный свой пример. У вас проблемы с логикой?
__________________
скриптограф

Старый 23.08.2009, 18:44
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 10  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Вы указали на задачу, не соответствующую нормальной логике. У Вас проблемы с логикой.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Создать новую тему Ответ Часовой пояс GMT +4, время: 03:27.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 03:27.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.