|
|
|
Использование паблик свойств класса
|
|||
|---|---|---|---|
|
#18+
Добрый день. Чем плохо использование паблик свойств класса вместо того чтобы на каждое свойство повесить геттер с сеттером, например, когда класс используется наподобие структуры для хранения разнотипных данных? Т.е. хотелось бы услышать ругательства про такой подход и как можно больше. Кроме того, есть ли ли какие траблы в таком случае, если класс используется несколькими (3-4) потоками и для чтения и для изменения свойств. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2006, 15:55:48 |
|
||
|
Использование паблик свойств класса
|
|||
|---|---|---|---|
|
#18+
По порядку: 1. Чем инкапсуляция лучше. а) Во-первых вы скрываете как вы храните какие-то данные. То есть сейчас вы их, например, храните в коллекции, потом вы решите, что лучше их вычислять при запросе пользователя. б) Вы следите за тем, как данные меняются. То есть можете устраивать проверку на корректность поступаемых данных, выполнять какие-то действия (уведомлять слушателей например). 2. Теперь проблемы с многопоточностью. В целях оптимизации поток может закешировать переменную, чтобы не обращаться к ней в дальнейшем, то есть она поменялась, но поток этого не знает и использует старое значение. В принципе это решается с помощью объявления переменной с модификатором volatile . Но все же лучше использовать встроенные методы синхронизации в Java, например мониторы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2006, 16:06:03 |
|
||
|
Использование паблик свойств класса
|
|||
|---|---|---|---|
|
#18+
1. Геттер может быть переопределен в подклассе. При этом код который этот класс юзает не нуждается в изменении. 2. JSR-133 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2006, 16:07:40 |
|
||
|
Использование паблик свойств класса
|
|||
|---|---|---|---|
|
#18+
Хм.. по поводу кеширования потоком данных таким образом - выглядит более чем странно. Откуда информация? _______________________________ ну что, мартышка, - допрыгалась? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2006, 16:08:57 |
|
||
|
Использование паблик свойств класса
|
|||
|---|---|---|---|
|
#18+
http://java.sun.com/docs/books/jls/third_edition/html/classes.html#8.3.1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2006, 16:16:23 |
|
||
|
|

start [/forum/topic.php?fid=59&gotonew=1&tid=2147324]: |
0ms |
get settings: |
7ms |
get forum list: |
18ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
231ms |
get topic data: |
9ms |
get first new msg: |
6ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
| others: | 193ms |
| total: | 523ms |

| 0 / 0 |
