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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 09.04.2013, 19:40
Black Soviet вне форума Посмотреть профиль Отправить личное сообщение для Black Soviet Найти все сообщения от Black Soviet
  № 21  
Ответить с цитированием
Black Soviet
 
Аватар для Black Soviet

Регистрация: Nov 2011
Сообщений: 41
Wolsh
Да, вы правы, никак.

Поясните только почему
Код AS3:
IPausable(cur).pause();
,а не
Код AS3:
cur.pause();

Старый 09.04.2013, 19:58
Alexmody вне форума Посмотреть профиль Отправить личное сообщение для Alexmody Найти все сообщения от Alexmody
  № 22  
Ответить с цитированием
Alexmody

Регистрация: Dec 2010
Сообщений: 177
Цитата:
Сообщение от caseyryan Посмотреть сообщение
as3 не С++, и не нужно сравнивать. Да в С++ есть множественное наследование, и это не есть гуд. Конечно пути обхода придумываются, но тем не менее коллизии возникают. А что если разные классы имеют разную имплементацию одного и того же метода? Какую выбрать?
Раздел The diamond problem:
http://en.wikipedia.org/wiki/Multiple_inheritance

Цитата:
Сообщение от Wolsh Посмотреть сообщение
Да? И как Вы докажете компилятору, что у этих эеземпляров действительно есть метод pause?
Ну вроде бы кастомизацией типа, т.е. указывается тип данных, а в скобочках объект кастомизации:
IPausable(cur).pause();

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

Регистрация: Jan 2009
Сообщений: 1,651
Цитата:
Сообщение от Black Soviet Посмотреть сообщение
Wolsh
Да, вы правы, никак.

Поясните только почему
Код AS3:
IPausable(cur).pause();
,а не
Код AS3:
cur.pause();
Потому что cur у меня Sprite, у котого нет функции pause(). Я привожу его к типу IPausable, у котого такая функция есть. А перед этим проверяю, дейсвительно он относится к этому типу. Потому что на сцене могут быть и просто Sprite, которые не анимированы и которых останавливать на паузу смысла нет.

Да, можно обойтись без интерфейса.
Код AS3:
var l:int = scene.numChildren;
while (l--){
  var cur:* = scene.getChildAt(l);
  if (cur.pause) cur.pause();
}
Можно много без чего обойтись. Без private и protected членов класса. Или без сеттеров-геттеров. Все эти финтифлюшки по большому счету для удобства работы в команде и читабельности кода.
__________________
мой пустой блог


Последний раз редактировалось iflamberg; 09.04.2013 в 20:19.
Старый 09.04.2013, 20:33
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 24  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Цитата:
Раздел The diamond problem:
http://en.wikipedia.org/wiki/Multiple_inheritance
Я знаю это ) И как обходят знаю. И тем не менее это кривой подход. Не смотря на всю крутость и развитость С++, есть в нем и серьезные недостатки. Множественное наследование я считаю недостатком. Ну, это лично мое мнение.
Цитата:
Все эти финтифлюшки по большому счету для удобства работы в команде и читабельности кода.
Я бы так не сказал. Работа в команде тут вообще ни при чем. Даже если один работает, все равно все это нужно для правильной организации проекта.

Старый 11.04.2013, 00:42
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 25  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Цитата:
Сообщение от iflamberg Посмотреть сообщение
Все эти финтифлюшки по большому счету для удобства работы в команде и читабельности кода.
И только? Неожиданно.

Старый 11.04.2013, 01:19
Babylon вне форума Посмотреть профиль Отправить личное сообщение для Babylon Посетить домашнюю страницу Babylon Найти все сообщения от Babylon
  № 26  
Ответить с цитированием
Babylon
[+1 25.10.13]
[+4 18.03.14]
 
Аватар для Babylon

Регистрация: Jan 2006
Адрес: Москва, Зеленоград
Сообщений: 653
Отправить сообщение для Babylon с помощью ICQ
Я то же считаю множественное наследование недостатком, но и с недостатками жить можно

Добавлено через 3 минуты
Проектирование и программирование это разные специализации. Иногда на первое попросту время нет. Да и не все заказчики понимают необходимость проектирования и согласования. Поэтому работает принцип - любой "г/к" за ваши деньги.

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

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

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


 


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


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