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

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

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

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Цитата:
Сообщение от Котяра Посмотреть сообщение
Это просто термин. наследование — ПОЛУЧЕНИЕ функций и пропертей. Интерфейсность — принятие ПОЛОЖЕНИЙ о функциях и пропертях.
Тогда уж "интерфейсность" это ОБЯЗАТЕЛЬСТВО реализовать методы и геттер/сеттеры, принятое классом. Не запутывайте людей.

Термин - это точное определение понятия. Я не понимаю фразы "наследование через интерфейс".

Я понимаю, что есть просто наследование. Я понимаю, что класс может реализовывать интерфейс. Так же я понимаю, что подкласс и так имеет методы суперкласса, навязанные интерфейсом, который реализует этот класс. Это и есть "наследование через интерфейс"? Ткните меня в это понятие, желательно в академической литературе, а не в досужих разговорах.


Цитата:
Сообщение от Nel Посмотреть сообщение
Существенный + использования так и не высказали, а хотелось бы узнать!
Существенный плюс уже был описан.

Цитата:
например есть некий Интерфейс, скажем основа для машинки, в ней есть методы мув и т.д.
к этому интерфейсу пишется фигова туча классов машинок
Пишется туча классов не "к" интерфейсу, а пишется туча классов, реализующих интерфейс. Прочувствуйте разницу!
Предположим, в интерфейсе IMovable описан один метод moveTo.
Класс машинки - Car.

Цитата:
у машинок базовый класс является Sprite интерфейс собственно этот интерфейс
Опять же. Терминология страдает. Базовый класс машинок реализует, имплементит интерфейс.
А вот базовый класс вертолета (Heliocopter) совсем отличается от базового класса машинки.

Но вертолет и машика могут двигаться (moveTo).

Теперь, предположим, что у нас есть два объекта: типа Heliocopter и Car.

Как передать эти объекты обработчику движения, реализованному, предположим, в каком-то контроллере?
Какой тип должен принимать этот обработчик?

Вот теперь можно воспользоваться всей силой интерфейсов!
Оказывается, оба объекта имеют тип интерфейса - IMovable.

А обработчик выглядит так:
Код AS1/AS2:
function process(value:IMovable):void {
	value.moveTo();
}
Еще приятнее интерфейс проявляет себя при динамическом связывании, когда тип объекта не известен на этапе компиляции.
Проверем объект на тип интерфейса, а не на тип его класса или суперклассов.

Цитата:
после этого в функции для подключения машинок к сообщениям физики, аи т.д. передаем их по интерфейсу на уровне подключения их GameScene.addChild(****);
вылавливаем ошибку что сюда можно передавать только интерфейс DisplayObject
addChild всегда принимал тип DisplayObject.



Цитата:
как бывшиму Сишнику эти интерфейсы ужасно не удобны!
Как же так Вы стали _бывшим_?


Цитата:
Собстено зачем такие жертвы, если Интерфейс наследуем от Sprite, дальше все машинки наследуем от интефейса и все!
Ну никак мы не можем наследовать интерфейс от класса.
Наследовать интерфейс можно только от интерфейса.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

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

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

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


 


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


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