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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 07.11.2015, 22:01
undefined вне форума Посмотреть профиль Отправить личное сообщение для undefined Найти все сообщения от undefined
  № 21  
Ответить с цитированием
undefined

Регистрация: Oct 2006
Сообщений: 2,281
а разве можно менять сигнатуру конструктора?

Старый 07.11.2015, 22:02
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 22  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
А как бы мы иначе делали самодельный Event с data:* в конструкторе!
__________________
Поймай яблоко 2!

Старый 07.11.2015, 22:04
undefined вне форума Посмотреть профиль Отправить личное сообщение для undefined Найти все сообщения от undefined
  № 23  
Ответить с цитированием
undefined

Регистрация: Oct 2006
Сообщений: 2,281
а ну да. Хотя я обычно пишу data в паблик секции.

Старый 07.11.2015, 23:10
GBee вне форума Посмотреть профиль Отправить личное сообщение для GBee Найти все сообщения от GBee
  № 24  
Ответить с цитированием
GBee
 
Аватар для GBee

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
Цитата:
udaaff, можешь привести пример "необходимых перед вызовом super()" действий?
Можно переопределить какие-нить протектед переменные, которые используются в суперконструкторе. Насколько это неправильно не знаю,но вполне сойдет за пример по-моему.
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.

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

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

Старый 07.11.2015, 23:15
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 26  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Цитата:
Мне кажется, или при new SubClass() не будет никакого трейса?
Почему тебе так кажется? )

Старый 08.11.2015, 04:08
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 27  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
Цитата:
Сообщение от udaaff Посмотреть сообщение
Почему тебе так кажется? )
Потому что супер будет вызывать непереопределенный init(). Есть подтверждение обратного?
__________________
Поймай яблоко 2!

Старый 08.11.2015, 11:41
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 28  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Цитата:
Потому что супер будет вызывать непереопределенный init().
А переопределенный тогда кто вызывать тогда будет?
Цитата:
Есть подтверждение обратного?
В чем проблема две строчки кода протестировать? Тебе же кажется, мне вот не кажется, я знаю. И выводы о чем-то стараюсь делать на этом же основании, а не на основании того, что у меня где-то что-то звенит в правом ухе.

Старый 08.11.2015, 12:03
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 29  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
Переопределенный метод должен вызвать ты сам, в новом конструкторе или еще как-то. Мне это не кажется, я почти уверен
__________________
Поймай яблоко 2!

Старый 08.11.2015, 12:26
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 30  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Цитата:
Сообщение от udaaff Посмотреть сообщение
Ты рассуждаешь о композиции, а не о наследовании. Когда кот мурзик рождается на свет, то это одно целое - кот. Он не выходит по частям: сначала появилось некое животное, а потом к нему приклеили усы и хвост. Нет это просто кот, он не рождается позже или раньше кого-то, он сам по себе. И являясь животным, при этом он обладает своими собственными свойствами и поведением, которое у "базового животного" может отличаться или отсутствовать. Поэтому кот, как целое, волен вызывать суперконструктор, исходя из своего собственного поведения. В конце концов конструктор - это тот же метод как и прочие. А если переопределив какой-то метод нам необходимо вызвать внутри этого метод супер версию, то мы обязаны, следую твоей логике, делать этот вызов исключительно вначале? Или, все же исходя из того, какое поведение тебе нужно получить?

upd: Другое дело, что до рождения кота, мы не можем его заставить ходить или мяукать, поэтому нет смысла вызывать мяу(), до того как кот будет создан, но сам процесс создания мы можем контролировать.
Я тебе привел другой пример, который ты пропустил
Все равно твой подход не верный. Пример Wolsh'a тоже не является доказательством правильности такого подхода. Можно вызывать super() c параметрами по умолчанию, а потом назначить все опции окна через сеттеры. В том же конструкторе. И окно сразу появится с нужным видом. Такие сеттеры должны быть, иначе это недоработка какая-то.

Кто-то сейчас по-любому подумает "зачем сначала создавать окно с видом по умолчанию, а потом его менять?" Но я отвечу так: чтобы была более чистая и правильная архитектура. В том же MVC делается часто много "лишней" работы. Зачем передавать какие-то модели, виды, котроллеры, когда можно легко все писать в одном "классе-полотенце" и по-максимуму использовать всякие глобальные переменные. Все из-за той же правильной архитектуры.

В общем, спорить у меня как-то настроения нет. Я считал и буду считать этот подход не правильным, и никто мне не докажет обратного)

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

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

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


 


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


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