|
|
| Результаты опроса: используете ли вы ооп | |||
| да |
|
238 | 86.55% |
| нет |
|
37 | 13.45% |
| Голосовавшие: 275. Вы ещё не голосовали в этом опросе | |||
|
|
Рейтинг 4.76/461:
|
|
81 / 39 / 3
Регистрация: 29.01.2010
Сообщений: 386
|
|
Стоит ли использовать ООП?09.02.2010, 13:44. Показов 108202. Ответов 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 стоит ли использовать Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман.
Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
|
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
|
|
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
|
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ
Основная суть и тезисы по измерениям:
0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема.
Объект не может перемещаться в 0D.
1D (Первое измерение):. . .
|
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek
ВВЕДЕНИЕ
Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
|
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
|