![]() |
|
Модераторы: LSD |
![]()
|
|
| 502 |
|
|||
![]() Я всегда прав ![]() Профиль Группа: Участник Сообщений: 134 Регистрация: 16.7.2011 Репутация: нет Всего: 4 |
Ну вот для чего, почему не сделать так: все свойства private, все методы public?
Это сообщение отредактировал(а) 502 - 10.11.2011, 13:20 |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 9 Всего: 538 |
Без приватных методов тяжело писать простой и читаемый код. Насчет полей - можно обойтись и без публичных, но иногда они бывают удобны.
Пример:есть некий метод который проводит вычисления и возвращает результат. Вычисления достаточно сложные и валидация входных параметров тоже. По хорошему тут надо сделать 2 метода: один проверяет входные параметры, второй делает вычисления. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| 502 |
|
||||
![]() Я всегда прав ![]() Профиль Группа: Участник Сообщений: 134 Регистрация: 16.7.2011 Репутация: нет Всего: 4 |
есть сеттеры/геттеры
и почему тут методы не могут быть публичными? |
||||
|
|||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 9 Всего: 538 |
Не все языки поддерживают проперти. Публичные константы удобней и проще, чем публичные аксесоры. Если нужно реализовать простой DTO по типу структуры, то простые публичные свойства проще и без лишнего оверхеда. (это не значит, что "нельзя обойтись без", это значит что в данном конкретном случае удобней/проще использовать) Вызов метода выполняющего вычисления с неправильными входными параметрами может привести объект в неконсистеное состояние. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| 502 |
|
|||
![]() Я всегда прав ![]() Профиль Группа: Участник Сообщений: 134 Регистрация: 16.7.2011 Репутация: нет Всего: 4 |
ну, это уже проблемма программиста что он не проверяет данные + если второй метод некорректно работает без первого, то второй сам должен вызвать первый |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 9 Всего: 538 |
Перечитай внимательно, то что я написал. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| rodnover |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 223 Регистрация: 7.4.2009 Репутация: нет Всего: 10 |
Обычное разграничение доступа. Как в том же газпроме. Максимум, что пользователи знают - это как платить за газ (public), филиалы газпрома основополагаются на описанные методы главного офиса (protected), но все остальные о них ничего не знают. А уж в главном офисе используют свои внутренние процедуры, о которых даже филиалам не говорят (private). Можно и без этого, но зачем? Всему свое место.
|
|||
|
||||
| k0rvin |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 442 Регистрация: 24.1.2010 Репутация: 1 Всего: 5 |
насколько я знаю, в SmallTalk так и есть -------------------- “Object-oriented design is the roman numerals of computing.” — Rob Pike All software sucks |
|||
|
||||
![]()
|
| Правила ведения Религиозных войн | |
|
|
1. Уважайте собеседника 2. Собеседник != враг 3. Старайтесь воздерживаться от тем вида "Windows Rulez" или "Linux Rulez" С уважением, Smartov. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Религиозные войны | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |