![]() |
|
||||||||||
|
|||||
|
Регистрация: Jan 2006
Сообщений: 66
|
Вопрос скорее глупый, но мне интересный
![]() Допустим есть некий ролик (который не будет менятся в будущем) и есть несколько других роликов (разные по содержанию и смыслу, но имеющие одинаковые методы), они будут служить "Скинами" Задача первого ролика загружать в себя "скин" и отправлять в него настройки. Так вот.. Каждый скин будет обрабатывать настройки по-разному, а первый ролик должен быть уверен, что методы обработки в них во всех есть. Есть пара мыслей как это сделать: 1. Создать "скинам" общего предка с пустыми ( ) методами, а в дальнейшем их оверрайдить2. Опять создать общего предка, а в методах диспатчитьЕвент 3. Сделать интерфейс... Малопонятный для меня способ. Подскажите кто знает. Как сделать так, чтобы потом мне перед внуками не было стыдно, что я это сделал?
__________________
Делаем так и перетакивать не будем! |
|
|||||
|
думаю, 3-й способ
Создаете интерфейс, описываете в нем сигнатуры всех необходимых методов для классов-скинов Классы флэшек-скинов должен реализовывать этот интерфейс. Если какой-то метод в таком классе будет отсутствовать - ролик скина просто не скомпилируется Если в каких-то методах есть что-то общее для всех скинов, то создайте супер класс и соотвественно в наследниках оверрайдите методы там где это необходимо... |
|
|||||
|
Регистрация: Jan 2006
Сообщений: 66
|
Ок! Спасибо!
А можно в классе одновременно extends класс и implement интерфейс?? ...и еще! Как тогда в главном ролике писать? Так?
__________________
Делаем так и перетакивать не будем! Последний раз редактировалось LEXiy; 09.08.2010 в 15:59. |
|
|||||
|
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
Я передаю класс скина, а компонент уже приводит его к определенному типу, и далее управляет его свойствами и методами.
|
|
|||||
|
Цитата:
насчет второго вопроса.. а зачем приводить newChild к ISkin? в классе newChild должен быть реализован метод getParams по-любому |
|
|||||
|
Регистрация: Jan 2006
Сообщений: 66
|
Ну так это... Скины-то разные должны быть.
И Классы соответственно разные. Если им не создавать общего предка, то ближайший родственник - это Sprite (или типа того), а у него нет метода getParams
__________________
Делаем так и перетакивать не будем! |
|
|||||
|
Регистрация: Jan 2006
Сообщений: 66
|
Цитата:
(назначать интерфейсу экземпляр класса)Круто! Буду пробовать.
__________________
Делаем так и перетакивать не будем! |
|
|||||
|
Регистрация: Jan 2006
Сообщений: 66
|
Что-то вот это вот:
не получается. Ай ну да ладно! Сделаю им общего предка с пустыми функциями... Всем спасибо!
__________________
Делаем так и перетакивать не будем! |
![]() |
![]() |
Часовой пояс GMT +4, время: 00:02. |
|
|
« Предыдущая тема | Следующая тема » |
|
|