![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
Akeem |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 381 Регистрация: 14.7.2006 Где: Киев/Украина Репутация: нет Всего: 3 |
Постановка задачи:
Есть иерархия:
Нужно организовать взаимодействие наследников (childs) по их основным методам Те хочеться использовать вместо
вот так
Как такое можно организовать? ![]() ![]() -------------------- Мир огромен и мы только муравьи в нём! (С) formicha |
||||||
|
|||||||
Andy_L20066 |
|
||||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 177 Регистрация: 10.3.2008 Репутация: нет Всего: 1 |
Привет, вот что сейчас на уме, хотя неуверен или это то что надо:
|
||||||
|
|||||||
MAXIMUS00 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 4.2.2009 Репутация: нет Всего: -1 |
посмотри в сторону вложенных/внутренних классов
|
|||
|
||||
Akeem |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 381 Регистрация: 14.7.2006 Где: Киев/Украина Репутация: нет Всего: 3 |
MAXIMUS00,
Вложеные классы не подходят, потому что чайлды сожержать методы относящиеся к специфичной задачи (или области вызова), у них есть только некоторые общие функции (вынесеные в парента) . Andy_L20066, Я думал об этои и даже начал было реализовывать подобное, но мне такое решиние не нравится. Во-первых, придется выносить кучу обьявлений методов в интерфейс (что не хотелось бы) Во-вторых, не удобно. В идеале хотелось бы увидеть такую структуру, чтобы при, например, вызове:
при этом все что находится под данным интерфейсом как угодно может взаимодействовать указаным в первом посте образом. П.С. если в паренте делать инстанс с ISomeInterface тогда взаимодействие будет довольно простым. -------------------- Мир огромен и мы только муравьи в нём! (С) formicha |
|||
|
||||
Akeem |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 381 Регистрация: 14.7.2006 Где: Киев/Украина Репутация: нет Всего: 3 |
Есть подозрение что можно было бы реализовать такое с помощью какого-то рефлешина.
-------------------- Мир огромен и мы только муравьи в нём! (С) formicha |
|||
|
||||
fixxer |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 672 Регистрация: 14.9.2006 Где: Саратов, Россия Репутация: 6 Всего: 27 |
А можно полюбопытствовать, а какая потребность привела к необходимости таких вызовов?
-------------------- ![]() |
|||
|
||||
Akeem |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 381 Регистрация: 14.7.2006 Где: Киев/Украина Репутация: нет Всего: 3 |
fixxer,
Организовываю функции в некий набор контейнеров (класифицируются по области применения). Это нужно для потроения библиотеки переиспользуемых функций тестового фреймворка (я автоматизирую тестирование). Эта библиотека подключается к тесту и далее можно использовать функции из этой библиотеки обращаясь к "контейнеру". При етом функии могут юзать друг-друга. Цель для чего такое делается: отделить тесты, ядро запуска и переиспользуемые функции. В итоге должно получится что-то ввиде парадигмы MVC, где M -- ето библиотека переиспользуемых функций, V - тесты, C - менеджер запуска. Это сообщение отредактировал(а) Akeem - 6.8.2009, 08:46 -------------------- Мир огромен и мы только муравьи в нём! (С) formicha |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |