![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| Ortega |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 115 Регистрация: 5.11.2005 Где: Харьков, Украина Репутация: 4 Всего: 6 |
Так нужно именно имя класса?
--------------------
Всему свое время (с) ЧайфНе парься, будь счастлив (с) Пеппи Длинный Чулок |
|||
|
||||
| ElKa |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 300 Регистрация: 1.2.2006 Репутация: 2 Всего: 4 |
все равно не получается
мне не стринг нужен, а класс а стринг я не могу задать как имя класса
defOutVar() в интерфейсе нет.. как мне его вызвать? |
|||
|
||||
| Ortega |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 115 Регистрация: 5.11.2005 Где: Харьков, Украина Репутация: 4 Всего: 6 |
ElKa, ОСТАНОВИСЬ! И сформулируй, пожалуйста, задачу.
--------------------
Всему свое время (с) ЧайфНе парься, будь счастлив (с) Пеппи Длинный Чулок |
|||
|
||||
| ElKa |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 300 Регистрация: 1.2.2006 Репутация: 2 Всего: 4 |
Ortega, ну я же сформулировала.. у меня объекты разных классов обрабатываются по очереди.. для каждого из них вызывается метод.. надо узнать их классы чтобы его вызывать.. я сделала интерфейс и в каждом классе добавила метод который возвращает имя класса как стринг.. но использовать этот стринг в других случаях я не могу.. если мне например надо для некоторых объектов вызвать другой метод которого нет у других.. получается опять та же проблема: как узнать класс? |
|||
|
||||
| AxNe0 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 263 Регистрация: 24.4.2006 Где: St. Petersburg Репутация: 4 Всего: 5 |
ElKa, создай хорошую объектно-ориентированную модель. Если не знаешь как или не можешь, опиши поподробнее структуру, какие есть классы, для чего они нужны и пр.
|
|||
|
||||
| ElKa |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 300 Регистрация: 1.2.2006 Репутация: 2 Всего: 4 |
AxNe0,
у меня есть разные классы объектов.. для каждого из них есть метод для печати.. для этого я сделала интерфейс и там этот метод задекларировала.. а потом в каждом классе заимплементировала.. это работает.. но еще например некоторые объекты могут быть двух видов.. например Предикат это или if-выражение или определение переменной x=... и в этих двух классах есть метод которого нет в других.. и в этом общем объекте Предикат мне надо его вызвать.. как мне получить класс для этого.. мне что же теперь для каждого случая интерфейс создавать? |
|||
|
||||
| Ortega |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 115 Регистрация: 5.11.2005 Где: Харьков, Украина Репутация: 4 Всего: 6 |
ElKa, без обид, пожалуйста, но мне кажется, что имеет место быть попытка удаления гланд через известное место.
Я в том смысле, что возможно, тут можно оюойтись без извращений и все намного проще? Давай ты расскажешь нам, чего именно ты пытаешься добиться этими манипуляциями. Добавлено через 1 минуту и 55 секунд
А еще есть наследование.... Когда у классов, имеющих что-то общее, есть общий класс-предок. Elka, почитай основы ООП. --------------------
Всему свое время (с) ЧайфНе парься, будь счастлив (с) Пеппи Длинный Чулок |
|||
|
||||
| ElKa |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 300 Регистрация: 1.2.2006 Репутация: 2 Всего: 4 |
Ortega,
у всех этих классов есть предок это узел синтаксического дерева.. они его наследуют.. так что еще одно наследование исключается.. но неужели нет никакой относительно простой возможности узнать класс объекта??? |
|||
|
||||
| alexadr |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 112 Регистрация: 25.9.2006 Репутация: 4 Всего: 4 |
||||
|
||||
| Ortega |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 115 Регистрация: 5.11.2005 Где: Харьков, Украина Репутация: 4 Всего: 6 |
Полиморфизм, полиморфизм и еще раз полиморфизм
Вот примерно такая будет иерархия. ![]()
--------------------
Всему свое время (с) ЧайфНе парься, будь счастлив (с) Пеппи Длинный Чулок |
||||
|
|||||
| AxNe0 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 263 Регистрация: 24.4.2006 Где: St. Petersburg Репутация: 4 Всего: 5 |
ElKa, ты не с той стороны пытаешься решить задачу. Хорошая, с точки зрения ООП, структура классов и интерфейсов может существенно облегчить жизнь. Раз мы выяснили-таки, что у классов есть что-то общее, что мешает создать нечто подобное:
а туда, где тебе надо вызывать methodPredicate(), передавай массив Predicate[] predicates. И все будет удобно, красиво и поддерживаемо. Добавлено @ 16:26 Ortega, +1 Это сообщение отредактировал(а) AxNe0 - 18.8.2008, 16:27 |
|||
|
||||
| ElKa |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 300 Регистрация: 1.2.2006 Репутация: 2 Всего: 4 |
AxNe0,
нет, они не extends предикат.. потому что они у него ничего не наследуют они наследуют у узла, так же как и предикат |
|||
|
||||
![]()
|
| Правила форума "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. |