|
|
| Результаты опроса: используете ли вы ооп | |||
| да |
|
238 | 86.55% |
| нет |
|
37 | 13.45% |
| Голосовавшие: 275. Вы ещё не голосовали в этом опросе | |||
|
|
Рейтинг 4.76/461:
|
|
81 / 39 / 3
Регистрация: 29.01.2010
Сообщений: 386
|
|
Стоит ли использовать ООП?09.02.2010, 13:44. Показов 103153. Ответов 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 стоит ли использовать Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
тв 16 бой ии
anaschu 27.07.2026
Великий Перелом ИИ: Как уравнения ОДУ Radau дожали цензурные фильтры Алисы
Фиксируем в мемофонде Теории Всего беспрецедентный факт в истории ИИ-зондирования. В затяжном многораундовом. . .
|
мв 15. непроверенное, возможно, глюк
anaschu 27.07.2026
НАУЧНО-АНАЛИТИЧЕСКИЙ ОТЧЕТ. РАЗДЕЛ 1. 1: «НАУКА» (РАСШИРЕННАЯ СТЕХИОМЕТРИЧЕСКАЯ И ГЕНЕТИЧЕСКАЯ ВЕРСИЯ)Тема: Теоретическое обоснование инвариантности 19-мерного тензорного ядра непрерывных ОДУ и. . .
|
Очистка реквизитов и табличных частей документа при копировании
Maks 26.07.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРаботу", разработанного в КА2.
Задача: Заменить алгоритм запрета копирования документов для сотрудников с ролью "Стажер",. . .
|
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
|
|
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
|
сукцессия 43. Вторая научная статья за месяц- прайминг и гатгил
anaschu 25.07.2026
две стороны одной монеты
|
Более приземисто - Эстафету хвоста в .cdl (деревья эстафеты в сад).
Hrethgir 24.07.2026
В будущем, после написания блока инверсии обхода дерева (эстафеты хвоста), я планирую вернуться к нашему прошлому разговору о том, обладают ли знания целеполаганием. Тогда я пришел к выводу, что. . .
|
Вот представьте что вам дали бессмертие.
kumehtar 24.07.2026
Вот представьте что вам дали бессмертие, ничего более не меняя. Вообще ничего, только бессмертие в нынешнем виде. Рады были бы? Что бы вы тут делали всё это время?
Никакой пенсии. Никакого нового. . .
|