![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| Antropoid |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 786 Регистрация: 1.6.2006 Где: &Ukraine==Ode ssa Репутация: 2 Всего: 16 |
Какой код корректнее?
I
II
В коде I обращаемся к переменной str так: MyClass.str, в коде II так - MyClass.getInstance().str. Какой из этих способов доступа предпочтительнее? Это сообщение отредактировал(а) Antropoid - 16.12.2006, 12:02 -------------------- ![]() Задыхаясь от восторга заниматься чепухой. |
||||
|
|||||
| powerOn |
|
||||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 47 Всего: 159 |
Если str меняться не должна, то так потянет:
Смысл второго примера я не понял. Можно еще так:
|
||||
|
|||||
| Antropoid |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 786 Регистрация: 1.6.2006 Где: &Ukraine==Ode ssa Репутация: 2 Всего: 16 |
Как другим классам обращаться к переменным класса MyClаss, не имея объекта не него? Это сообщение отредактировал(а) Antropoid - 16.12.2006, 13:03 -------------------- ![]() Задыхаясь от восторга заниматься чепухой. |
|||
|
||||
| y3u |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 440 Регистрация: 9.9.2006 Где: Москва Репутация: 5 Всего: 13 |
не совсем корректный пример... строка она вроде как считается имьютабл, а если еще вспомнить про пул строк, то тогда что так что эдак пофигу... для строк лияно я использую public static final филды... если объекты изменяемые - тогда надо подумать как они буду изменяться и сколько экземпляров класса должно быть, от этого и плясать...
-------------------- В нашей стране настаивать на кореньях, черной смородине, лимонных корках - гораздо эффективнее, чем на правах |
|||
|
||||
| Antropoid |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 786 Регистрация: 1.6.2006 Где: &Ukraine==Ode ssa Репутация: 2 Всего: 16 |
Ну разве нормально из других классов обращаться к полям класса посредством MyClass.str, если объект класса MyClass будет единственным в программе? С другой стороны такое обращение облегчает чтение кода. Реализация же шаблона синглетон для доступа к переменным - громоздка... -------------------- ![]() Задыхаясь от восторга заниматься чепухой. |
|||
|
||||
| y3u |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 440 Регистрация: 9.9.2006 Где: Москва Репутация: 5 Всего: 13 |
касательно строк - да, нормально. Я даже написал почему -------------------- В нашей стране настаивать на кореньях, черной смородине, лимонных корках - гораздо эффективнее, чем на правах |
|||
|
||||
| 0000 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 208 Регистрация: 11.7.2006 Где: Нижний Новгород Репутация: нет Всего: 5 |
singleton тут не нужен...если ты хочешь дать доступ всем к строке - оставь static...
второй код абсолютно некорректен - ты там возвращаешь класс...но он у тебя не одиночка..смысла в нем нет |
|||
|
||||
| Antropoid |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 786 Регистрация: 1.6.2006 Где: &Ukraine==Ode ssa Репутация: 2 Всего: 16 |
Извиняюсь, второй пример звучит так:
Надеюсь теперь ответы изменятся... -------------------- ![]() Задыхаясь от восторга заниматься чепухой. |
|||
|
||||
| powerOn |
|
|||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 47 Всего: 159 |
А когда конструктор будет вызван? |
|||
|
||||
| y3u |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 440 Регистрация: 9.9.2006 Где: Москва Репутация: 5 Всего: 13 |
ты наверное имел в виду примерно следующее... но это не всегда правильно
ты, во-первых, реши сначала, зачем тебе синглтон... во-вторых можно почитать про его реализации вразных случаях... к примеру вот здесь а касательно статических полей все уже написали, если неизменяемый филд, то public static final, если изменяемый, то через объект и через паблик геттер... Это сообщение отредактировал(а) y3u - 20.12.2006, 22:54 -------------------- В нашей стране настаивать на кореньях, черной смородине, лимонных корках - гораздо эффективнее, чем на правах |
|||
|
||||
![]()
|
| Правила форума "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. |