|
|
|||||
Передача класса как параметра
Вот можно делать так:
А можно как-нибудь сделать так, чтоб передавать в функцию можно было только классы, которые имплементят какой-то интерфейс? то есть было бы что-то вроде Или как я показал сначала тоже делать нельзя?
__________________
cats are supreme beings |
|
|||||
Про is знаю, но хотелось бы проверку прям так.
Ну да ладно.
__________________
cats are supreme beings |
|
|||||
В haXe можно:
А в AS3, ну нет генериков. Оно и в Java сначала параметрических типов не было - но ничего, писали как-то. Стоп. Разве is работает для класса/интерфейса? Он же только для экземпляров Последний раз редактировалось expl; 15.05.2012 в 01:06. |
|
|||||
__________________
Спросишь, дурак на минуту. Если не спросишь, дурак на всю жизнь! |
|
|||||
// interface package { public interface IUser { } } // Object class package { public class Test implements IUser { public function Test ( ) { } } } // Main class package { import flash.display.Sprite; public class Main extends Sprite { public function Main ( ) { addIClass(new Test( )); } private function addIClass ( iUser : IUser ) : void { var test:IUser = iUser; trace(test as Test); } } }
__________________
Спросишь, дурак на минуту. Если не спросишь, дурак на всю жизнь! Последний раз редактировалось stweet; 15.05.2012 в 02:10. |
|
|||||
Если так принципиальна типизация, то можно передавать фабрики, которые имплементят определеннный интерфейс.
__________________
9 из 10 голосов в моей голове сказали наркотикам "НЕТ" Мои ачивки: художник-паразит. |
Часовой пояс GMT +4, время: 09:48. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|