|
|
| Результаты опроса: используете ли вы ооп | |||
| да |
|
238 | 86.55% |
| нет |
|
37 | 13.45% |
| Голосовавшие: 275. Вы ещё не голосовали в этом опросе | |||
|
|
Рейтинг 4.76/461:
|
|
81 / 39 / 3
Регистрация: 29.01.2010
Сообщений: 386
|
|
Стоит ли использовать ООП?09.02.2010, 13:44. Показов 103073. Ответов 793
Метки нет (Все метки)
Здравствуйте.
Возник такой вопрос: стоит ли использовать ооп. Даже не так, когда использовать ооп? Иногда (даже чаще всего) легче написать простые функции, а не мутить с классами обектами и методами. Раздражает инкапсуляция - какой вообще ее смысл? Чтобы получить переменную класса по правилам ооп нужно создавать метод для ее чтения? когда такой подход оправдан - ведь затрачивается куча лишнего времени.
5
|
|
| 09.02.2010, 13:44 | |
|
Ответы с готовыми решениями:
793
Стоит ли использовать ООП -- часть вторая
|
| 07.12.2014, 04:03 | ||||||
|
еще немножко уменьшил количество символов
0
|
||||||
| 07.12.2014, 04:11 | ||
)
0
|
||
| 08.12.2014, 17:02 | |||
Да и задачу я давно забыл (что естественно в хламе холиварных понтов). Можно что-нибудь простое-бытовое? Ну вот хотя бы задачка для начинающих
Спасибо
0
|
|||
|
8 / 8 / 6
Регистрация: 14.06.2013
Сообщений: 65
|
|
| 08.12.2014, 17:18 | |
|
Извените, возможно вопрос не совсем в тему, но может кто обьяснить, ООП - это стиль или технология? как по мне то технология, но хз, друг доказывает обратное) Возможно это и то и другое?
Стиль программирования - набор приемов или методов программирования, которые используют программисты, чтобы получить правильные, эффективные, удобные для применения и легкочитаемые программы. Технологией программирования называют совокупность методов и средств, используемых в процессе разработки программного обеспечения.
0
|
|
| 08.12.2014, 17:34 | |
|
Igor3D, я то исполню, но это исполнение будет выглядеть точно так же, как и на любом другом языке, поддерживающем арифметику плавающих типов - просто вычисление пары координат по формулам. Приведенная задачка была интересна как раз как пример нахождения варианта, удовлетворяющего всему комплексу заданных условий.
Добавлено через 6 минут ЗЫ хотя, если ограничиться целочисленными координатами - например, взять растеризованные в пиксели отрезок и точки, то исполнение на "крутом языке" можно сделать красивым и лаконичным, в ущерб производительности. А можно и исполнить компромисс между выпендрежем/лаконичностью/красотой/производительностью. Чуть попозже попробую исполнить что-то не тривиально по формулам перпендикуляра к прямой.
0
|
|
| 08.12.2014, 17:55 | ||
|
Нужны формулы и/или решение на С/C++ - не вопрос, только скажите.
0
|
||
|
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
|
||
| 08.12.2014, 19:01 | ||
|
0
|
||
| 08.12.2014, 21:53 | |||||||||||
|
Исполняю, неоптимально по скорости и ресурсам - конечно простые формулы без итераций тут уместнее, но это скучно (настолько, что даже исполнять не хочется), а так хоть алгоритм какой-то есть и не настолько все грустно
ЗЫ могу добавить к нему пару строчек и будет решать ту же задачу для кривой Безье любого порядка (и для линии, как частного случая нулевого порядка тоже) ![]() Добавлено через 46 минут ЗЗЫ да, маленькая поправочка -
0
|
|||||||||||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||
| 11.12.2014, 00:06 | ||
|
Парадигма вообще - это система взглядов, образ мышления, методика абстрагирования, позволяющая видеть вещи в некотором особенном ракурсе. ОО-парадигма использует такой способ мышления и абстрагирования, при котором конструкция на языке воспринимается, как некоторая сущность наделенная свойствами и умениями. Вы можете использовать оо-парадигму программируя, как на оо-языках, так и не на оо-языках. Технически, оо-программирования на оо-языках отличается от оо-программирования на не оо-языках степенью автоматизации. Так например, на языке с++ существуют конструкторы и диструкторы - код, который с точки зрения программиста запускается автоматически. Благодаря этому стало возможным реализовать идеому RAII. На процедурных языках, таких как си, подобной автоматики не существует в принципе. Поэтому реализация RAII становится не возможной. Хотя можно имитировать оо-архитектуру вручную. В крупных не оо-проектах так или иначе используются "элементы ооп". Например, полиморфизм. Только делается это все вручную. То бишь, человеческий фактор, и приходится вручную писать код. На оо-языках технология компилятора берет на себя всю рутину серьёзно облегчая жизнь. В этом смысле можно сказать, что оо-программирование - это технология для оо-языков, и техника для не оо-языков.
0
|
||
| 11.12.2014, 11:54 | ||||||||||||
Ладно, вот как бы я написал на своем замшелом/отсталом языке.Нужен базовый класс. Конечно у каждого он всегда есть, но для чистоты эксперимента напишем
Возвращаясь у Вашему сферическому коту. Не вижу никакой базы/инструмента (как класс Vec). Имена переменных не более 1 (одной) буквы и ни о чем не говорят. Но пожалуй главное - неприятная "вязь" из чего-то типа функторов. Трудно выделить что где делается, "части". Впрочем умельцы на плюсах достигают примерно того же с лямбдами и.т.п. Не могли бы Вы (коротенько) откомментить где что делается? Конечно легко сказать типа "ах, смотрите насколько короче и выразительнее решение на хаскел!" Но мне кажется такой красоты лучше не иметь. Если что-то заклинит - никто из аплодирующих не поможет.Да, ну и поясните как же оно у Вас работает
0
|
||||||||||||
| 11.12.2014, 12:58 | ||||||
Но никаких функторов, к сожалению. Повторюсь - я мог бы реализовать и нормальный практичный алгоритм, причем и на Haskel и на С, но задача которую вы предложили настолько тривиальна и скучна, что я попытался хоть как-то сделать ее интереснее, хотя бы ценой непрактичного алгоритма. Который, кстати, на С реализуется и выглядит точно так же.ЗЫ я в эту тему заглянул случайно по ссылке, и предложил только альтернативное имхо более простое и менее концептуальное решение заинтересовавшей меня задачки. Но если вы хотите поиграть в игру "сравним коды", то можем и продолжить. Только в следующий раз предлагайте задачки поинтереснее.
0
|
||||||
| 11.12.2014, 19:05 | |||
|
есть "радар", планарный квадрат в пр-ве заданный 4-мя точками (x, y, z). Есть "цель" - еще точка в пр-ве. Надо повернуть радар (получить новые координаты его точек) так чтобы его нормаль смотрела на цель, а центр остался на прежнем месте.
0
|
|||
| 11.12.2014, 19:16 | |||
Формулы - они и в Африке и в любом языке одни и те же, и их закодирование будет совершенно одинаковым и неинтересным с точки зрения программирования и алгоритмов.
0
|
|||
| 11.12.2014, 19:49 | ||
Хорошо, зайдем с др стороны. Если уж Вы заговорили о лени... Эта задача часто называется типа "lazy calculation". Автор (в моей предметной области) Гриша Вард сказал примерно "потом (не мной) это назвали "ленивыми вычислениями" - потому что я ленив чтобы придумывать термин" ![]() Суть очень проста. Нужно просчитать значение параметра/атрибута в некоторой точке p_new. При этом существует множество уже просчитанных значений в соседних точках (известны их координаты и атрибуты). Для простоты положим что каждая просчитанная точка имеем радиус захвата (R). Так вот, если запросная точка p_new оказалась в радиусе захвата хотя бы 1 соседней точки- мы интерполируем, иначе честно считаем и делаем расчет доступным для последующих интерполяций. Это весьма упрощенная (строго говоря просто неправильная) постановка задачи (почему - сами догадаетесь), ну да бог с ним - я хочу увидеть силу хаскела.
0
|
||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||
| 11.12.2014, 21:45 | ||
|
Без этого вы никогда не сделаете, scope_guard, например. Ну а без конструкторов/диструкторов ооп нереализуема в принципе, потому что нереализуема оо-абстракция.
0
|
||
|
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
|
|||
| 12.12.2014, 10:01 | |||
|
0
|
|||
| 12.12.2014, 16:01 | ||
|
В ООП нет понятия деструктора, это особенность конкретного языка программирования.
0
|
||
| 14.12.2014, 00:32 | |||||||
0
|
|||||||
| 14.12.2014, 00:32 | |
|
Стоит ли учить ООП в одно время с Яп Как использовать ООП в 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
Решил тут подумать о возможности сделать лор некоторой комп игры - стратегии, или худжественной книги антиутопии, которые будут юзать планету,которая максимально будет похожа на нашу землю, но где. . .
|