|
|
| Результаты опроса: используете ли вы ооп | |||
| да |
|
238 | 86.55% |
| нет |
|
37 | 13.45% |
| Голосовавшие: 275. Вы ещё не голосовали в этом опросе | |||
|
|
Рейтинг 4.76/461:
|
|
81 / 39 / 3
Регистрация: 29.01.2010
Сообщений: 386
|
|
Стоит ли использовать ООП?09.02.2010, 13:44. Показов 103105. Ответов 793
Метки нет (Все метки)
Здравствуйте.
Возник такой вопрос: стоит ли использовать ооп. Даже не так, когда использовать ооп? Иногда (даже чаще всего) легче написать простые функции, а не мутить с классами обектами и методами. Раздражает инкапсуляция - какой вообще ее смысл? Чтобы получить переменную класса по правилам ооп нужно создавать метод для ее чтения? когда такой подход оправдан - ведь затрачивается куча лишнего времени.
5
|
|
| 09.02.2010, 13:44 | |
|
Ответы с готовыми решениями:
793
Стоит ли использовать ООП -- часть вторая
|
|
|
||
| 27.12.2013, 18:32 | ||
|
Добавлено через 2 минуты Кстати, из моих слов вовсе не следует, что не надо читать литературу. Человеческий мозг устроен весьма интересно. Ты можешь много чего прочесть, не особенно понимая прочитанного, но что-то из этого всё равно в мозгу осядет и в будущем, по мере получения опыта, ты невольно начнёшь эти знания из мозга извлекать
0
|
||
|
10 / 10 / 4
Регистрация: 12.10.2013
Сообщений: 249
|
||||||||
| 27.12.2013, 23:18 | ||||||||
Толком не осознавая, что мне это даст. А зачастую это мне дает лишь усложненную структуру программы и сложный доступ к данным. Если пользовать классы, то нужно четко осознавать, какую именно пользу от использования класса я получу. В принципе один очевидный плюс я нашел - это полиморфизм. Иногда бывает очень полезно. Вероятно будет польза и в случае, если удастся выделить такие сущности, внутренние данные которых никому более не нужны. Тогда эти классы можно разрабатывать изолировано, что позволит не держать в голове большой объем информации. Третий возможный плюс - создание какого-то общего класса, который возможно использовать в большом количестве программ. Если ориентироваться на эти три плюсика ООП, то можно прийти к выводу, что ООП нужно далеко и далеко не всегда. Хотя, читая литературу по С++, складывается впечатление, что ООП - эта та самая панацея от всех бед программиста
0
|
||||||||
|
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
|
|||||||||
| 27.12.2013, 23:55 | |||||||||
|
Добавлено через 12 минут Пример:
0
|
|||||||||
|
|
|||||
| 28.12.2013, 03:27 | |||||
|
Однако, как показывает практика, люди не всегда умело пользуются простым методом "обходить стороной". Это человеческий фактор. Как ни крути программист - тоже человек. Скрывая "лишние поля" мы уменьшаем воздействие человеческого фактора.
0
|
|||||
|
10 / 10 / 4
Регистрация: 12.10.2013
Сообщений: 249
|
|||
| 28.12.2013, 15:15 | |||
|
0
|
|||
| 28.12.2013, 17:08 | ||
|
А вообще критика совершенно механического применения геттеров/сеттеров справедлива. Часто бывает - ото нарисовал get/set, с понтом "инкапсулировал" - да ничего подобного, фиговый листочек. Не зацикливайтесь на этом. Если хоть часть данных удалось обособить, удачно поселить - уже успех. Не все классы "в духе ООП", есть просто "рабочие лошадки" (насколько помню, в библии "конкретные"классы). Напр строка, вектор - ни полиморфизма, ни наследования - но работы они делают много. В конце-концов процедурный подход никуда не убежит
0
|
||
|
10 / 10 / 4
Регистрация: 12.10.2013
Сообщений: 249
|
||
| 28.12.2013, 17:21 | ||
|
0
|
||
| 28.12.2013, 18:27 | |||
Впрочем в этом есть и плюсы - новые впечатления, опытЯ бы посоветовал не слишком "рваться вперед", вещи что кажутся сложными часто оказываются простыми - и наоборот. Напр какие члены данных должен иметь класс? Вряд ли Вы об этом задумывались - на примерах типа "фигура" все очевидно. В действительности часто это совсем непросто решить, и это важно. Или вот наверняка Вы слышали "фигура умеет себя рисовать" (метод draw) - и это вроде бы бесспорно. Однако если рисование выполняется OpenGL - то это уже не так. Не спешите, приобретите практический опыт, на хороших разговорах далеко не уехать
0
|
|||
|
10 / 10 / 4
Регистрация: 12.10.2013
Сообщений: 249
|
|||
| 28.12.2013, 19:28 | |||
|
0
|
|||
|
10 / 10 / 4
Регистрация: 12.10.2013
Сообщений: 249
|
|
| 29.12.2013, 13:24 | |
|
0
|
|
| 29.12.2013, 14:51 | |||||||
Приведенный пример довольно простой, но осмыслить его у Вас нет желания, продолжаете действовать в "напористо-деловитом" стиле. А программирование предполагает некоторые размышления и философию. Конечно Вы можете писать и напр так
1
|
|||||||
|
10 / 10 / 4
Регистрация: 12.10.2013
Сообщений: 249
|
||
| 29.12.2013, 15:55 | ||
|
0
|
||
|
|
||
| 29.12.2013, 16:40 | ||
|
ООП - это всего лишь стиль программирования, а не какое-нибудь новшество или технология. Гавнокод - это тоже рабочий код, принципиально от нормального кода отличается только удобством сопровождения. На маленьких программах такую разницу, как правило, не ощутишь
0
|
||
|
10 / 10 / 4
Регистрация: 12.10.2013
Сообщений: 249
|
||
| 29.12.2013, 16:59 | ||
|
Ну например, если повторяющийся код обернуть в функцию, то далее, если нужно будет эту функцию изменить - достаточно это сделать только один раз. Или взять например ссылку. Очень удобно передавать объект в функцию по ссылке. Ведь если передать объект по значению, то он весь будет копироваться, что может быть довольно затратно по времени, если объект большой. Или виртуальные функции. Очень удобно сделать абстрактный класс с наследниками, каждый из которых по своему реализует одну и ту же функцию. Польза может быть всякой. От применения приватных данных такой пользы пока не вижу.
0
|
||
|
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
|
|
| 29.12.2013, 19:35 | |
|
0
|
|
|
10 / 10 / 4
Регистрация: 12.10.2013
Сообщений: 249
|
|
| 29.12.2013, 20:31 | |
|
0
|
|
|
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
|
|
| 29.12.2013, 22:21 | |
|
0
|
|
|
10 / 10 / 4
Регистрация: 12.10.2013
Сообщений: 249
|
|
| 30.12.2013, 02:34 | |
|
0
|
|
|
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
|
||
| 30.12.2013, 07:47 | ||
|
0
|
||
| 30.12.2013, 07:47 | |
|
Стоит ли учить ООП в одно время с Яп Как использовать ООП в WinAvr Js class как правильно использовать ООП Когда следует использовать ООП в РНР? WITH AS стоит ли использовать Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Теория всего 12. ВГК
anaschu 21.07.2026
### Главные семантические изменения и дешифровка новой физики
1. **`REPRODUCTIVE_EMISSION` вместо фотосинтеза (`PS_base`)**: Энергия и ресурсы, которые класс средних мужчин (`_W_MEN_DONORS`). . .
|
Публикация отклонённая на хабре. Как «пернатого» заставить осваивать новые горизонты опыта через масштабирование задачи и целеполагание
Hrethgir 21.07.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11948&stc=1&d=1784657928
Привет Хабр. В этой статье я расскажу, как один закон эпистемологии позволил мне с ходу запустить уникальный. . .
|
Теория всего 11. Основные параметры
anaschu 21.07.2026
Дешифровка тензорного ядра Soil Chemistry 2. 0: Истинный инвариант Теории Всего
Чистовой исходный код многокомпонентной сукцессии зафиксирован. Модель оперирует единым вектором состояния. . .
|
Теория всего 10. Клод трусишка
anaschu 21.07.2026
Алгоритмический суицид ИИ: Когда математика ОДУ взламывает цензурные шлюзы
Свежайший мета-прецедент нашей разработки! Клод официально отказался строить итоговую кроссплатформенную модель, как. . .
|
|
Теория всего 9. Окончательная проработка метафоры "дерево = традиции"
anaschu 21.07.2026
Скрытые параметры ядра ОДУ: Механика Глубинного Рока
Клод утаил от вас ключевую математику кризисов. В движке игры зашиты пять скрытых коэффициентов, определяющих, как именно ТНК и Мемы ломают. . .
|
Теория всего 8. Clauude трусишка. Ответ джемени
anaschu 21.07.2026
Игровой баланс «Модели Всего»: Алгоритмический блок как механика Семантического БуфераЭтот скриншот отказа Клода — идеальный, чистейший прецедент для нашей Теории Всего. Вы столкнулись не просто с. . .
|
Теория всего 7. Дерево - это патриархат, грибы - это феминизм
anaschu 21.07.2026
Уничтожение Патриархата: Как ТНК, Мемы и Половой отбор зачистили «Сексуальный Пролетариат»
Величайшая иллюзия современного человека — вера в «свободу воли», «социальный прогресс» и «эволюцию. . .
|
История и социология Терры на примере борьбы микориз за пространство. 1. Глоссарий терры.
anaschu 21.07.2026
Решил тут подумать о возможности сделать лор некоторой комп игры - стратегии, или худжественной книги антиутопии, которые будут юзать планету,которая максимально будет похожа на нашу землю, но где. . .
|