![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
DissDoc |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 463 Регистрация: 13.7.2006 Репутация: нет Всего: нет |
Т.е. встал вопрос, как мне вернуть из функции больше одного значения?
в PHP например делают так
А как это в джаве реализовать? |
|||
|
||||
batigoal |
|
||||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 24 Всего: 151 |
Либо разделить функцию на две. Либо сделать так (лучший, на мой взгляд, вариант):
Тогда можно будет точно сказать, что изменить объект может только он сам. А не какой-нибудь посторонний вызов. Это сообщение отредактировал(а) batigoal - 5.3.2007, 14:48 -------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
||||
|
|||||
DissDoc |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 463 Регистрация: 13.7.2006 Репутация: нет Всего: нет |
Ясно, т.е. нельзя =) Просто было б очень удобно не заводить глобальных переменных ) А то я закопаюсь =)
|
|||
|
||||
batigoal |
|
|||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 24 Всего: 151 |
Да вроде я и не вижу у себя глобальных переменных
![]() -------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
y3u |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 440 Регистрация: 9.9.2006 Где: Москва Репутация: 5 Всего: 13 |
ИМХО, надо вообще избегать таких конструкций, как процесс, почитайте биттер джаву... хороший стиль - это не менять значения инстанса методами, надо соблюдать инкапсуляцию, т.к. это наиболее безопасно и заставляет писать более чистый код. Взяли инстанс, что то сделали с его копией, проверили ее на валидность, заменили копией рабочий инстанс... как-то так...
-------------------- В нашей стране настаивать на кореньях, черной смородине, лимонных корках - гораздо эффективнее, чем на правах |
|||
|
||||
DissDoc |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 463 Регистрация: 13.7.2006 Репутация: нет Всего: нет |
Ага, приблизительно понял. Нуно почитать. Спасибо за совет.
|
|||
|
||||
alexsmirnov |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 76 Регистрация: 23.8.2005 Репутация: нет Всего: 7 |
Классы всегда передаются по ссылке - поэтому можно считьать любой параметр результатом :
|
|||
|
||||
chief39 |
|
|||
![]() карманная тигра ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1631 Регистрация: 20.5.2005 Где: Киев Репутация: 15 Всего: 77 |
Если вопрос стоит именно так - тогда создай свой маленький классец для передачи набора значений. В котором будут private переменные и геттеры/сеттеры. Типа transfer object. Объект создаётся и заполняется "чистый" перед возвратом. Тогда будешь передавать по значению и избежишь той лажи, о которой y3u сказал. То есть "побочного эффекта метода". Так логичнее, красивее и понятнее для потомков. Правда - придётся создавать новый класс. -------------------- Люди - это свечи. Они либо горят, либо их - в жопу!(с) |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |