
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
20.01.2012, 20:49:08
|
|||
|---|---|---|---|
|
|||
getter's Java VS Константные методы C++ |
|||
|
#18+
Приветствую! Например, метод, читающий какое- либо поле - C++ Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Java Код: java 1. 2. 3. 4. 5. 6. 7. Сразу очевидные преимущества первого подхода: Проверка модификации поля на этапе компиляции; Облегчение сопровождения (если какой- то метод портит поля, множество подозреваемых методов сокращается); ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.01.2012, 21:00:09
|
|||
|---|---|---|---|
getter's Java VS Константные методы C++ |
|||
|
#18+
ivanov-voidПроверка модификации поля на этапе компиляции;Вы наверное хотели сказать "инициализации", а не "компиляции"? Почитайте про ключевое поле final. ivanov-voidОблегчение сопровождения (если какой- то метод портит поля, множество подозреваемых методов сокращается);Вообще непонятно к чему это. Через ваш метод getName() нельзя изменить значение поля name. Никак. Наконец, последнее - вопрос то ваш в чем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.01.2012, 21:05:26
|
|||
|---|---|---|---|
|
|||
getter's Java VS Константные методы C++ |
|||
|
#18+
Приветствую, svenom! Нет, я все верно написал. final сделает константным само поле, хотя нам может потребоваться менять его в дальнейшем. Не обязательно String . Вопрос риторический. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.01.2012, 23:43:41
|
|||
|---|---|---|---|
|
|||
getter's Java VS Константные методы C++ |
|||
|
#18+
ivanov-voidВопрос риторический. Так и что с того? Все равно же существует способ из константного метода через указатель вызвать другой, не константный, который изменит состояние объекта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.01.2012, 23:48:08
|
|||
|---|---|---|---|
getter's Java VS Константные методы C++ |
|||
|
#18+
ivanov-voidПриветствую! Сразу очевидные преимущества первого подхода: Проверка модификации поля на этапе компиляции; Облегчение сопровождения (если какой- то метод портит поля, множество подозреваемых методов сокращается); ... Салют. Есть более интересные подходы - тот же first class property. Реализован в C#. В java может быть когда нибудь появится. Возможный вариант кода: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. Основной бонус пропертей правда в другом. Это возможность писать код вида person.name = "Vasya"; вместо person.setName("Vasya"); Плюс в java практически не актуальна проблема "кто портит поле". Множество подозреваемых легко подсказывает любая современная IDE. Так что преимущества "константного метода из C++" конечно есть, но при управляемой памяти и других фичах для java это не актуально. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.01.2012, 00:22:15
|
|||
|---|---|---|---|
getter's Java VS Константные методы C++ |
|||
|
#18+
VoDAivanov-voidПриветствую! Сразу очевидные преимущества первого подхода: Проверка модификации поля на этапе компиляции; Облегчение сопровождения (если какой- то метод портит поля, множество подозреваемых методов сокращается); ... Салют. Есть более интересные подходы - тот же first class property. Реализован в C#. В java может быть когда нибудь появится. Возможный вариант кода: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. Основной бонус пропертей правда в другом. Это возможность писать код вида person.name = "Vasya"; вместо person.setName("Vasya");Да это все голимый синтаксический сахар. Никакой реальной пользы не имеет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.01.2012, 00:47:25
|
|||
|---|---|---|---|
getter's Java VS Константные методы C++ |
|||
|
#18+
svenomVoDAЕсть более интересные подходы - тот же first class property. Реализован в C#. В java может быть когда нибудь появится.Да это все голимый синтаксический сахар. Никакой реальной пользы не имеет.так и scala синтаксический сахар и замыкания тоже - то же самое можно сделать и без них. даже анонимные классы синтаксический сахар. сахар нужен ибо удобно и упрощает жизнь в некоторых ситуациях. тот же property удобен когда нужно сослаться на свойство объекта. Пока это можно сделать через reflection, который не особо быстрый. First class property позволяет получить Person.name.property аналогично тому как сейчас реализован Person.class ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.01.2012, 11:13:11
|
|||
|---|---|---|---|
getter's Java VS Константные методы C++ |
|||
|
#18+
VoDAОсновной бонус пропертей правда в другом. Это возможность писать код вида person.name = "Vasya"; вместо person.setName("Vasya"); Главный вопрос, бонус это или нет. Как обычно, синтаксический сахар хорошо, когда его правильно применяешь. В Scala, кстати, разве есть property как отдельная сущность? В groovy вроде есть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.01.2012, 11:19:10
|
|||
|---|---|---|---|
getter's Java VS Константные методы C++ |
|||
|
#18+
VoDA, +1 property всегда хорошо и лаконично. Минусов не вижу. Задолбало смотреть эти Get и Set простыни. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.01.2012, 12:04:45
|
|||
|---|---|---|---|
getter's Java VS Константные методы C++ |
|||
|
#18+
Petro123VoDA, +1 property всегда хорошо и лаконично. Минусов не вижу. Задолбало смотреть эти Get и Set простыни. property точно плох, когда за его вызывом скрывается много чего, типа обращения к БД или еще что. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.01.2012, 12:05:09
|
|||
|---|---|---|---|
getter's Java VS Константные методы C++ |
|||
|
#18+
Petro123VoDA, +1 property всегда хорошо и лаконично. Минусов не вижу. Задолбало смотреть эти Get и Set простыни. Пишите get/set - будет удобнее читать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=59&mobile=1&tid=2132777]: |
0ms |
get settings: |
13ms |
get forum list: |
19ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
53ms |
get topic data: |
20ms |
get forum data: |
6ms |
get page messages: |
87ms |
get tp. blocked users: |
2ms |
| others: | 344ms |
| total: | 554ms |

| 0 / 0 |
