|
|
| Результаты опроса: используете ли вы ооп | |||
| да |
|
238 | 86.55% |
| нет |
|
37 | 13.45% |
| Голосовавшие: 275. Вы ещё не голосовали в этом опросе | |||
|
|
Рейтинг 4.76/461:
|
|
81 / 39 / 3
Регистрация: 29.01.2010
Сообщений: 386
|
|
Стоит ли использовать ООП?09.02.2010, 13:44. Показов 97730. Ответов 793
Метки нет (Все метки)
Здравствуйте.
Возник такой вопрос: стоит ли использовать ооп. Даже не так, когда использовать ооп? Иногда (даже чаще всего) легче написать простые функции, а не мутить с классами обектами и методами. Раздражает инкапсуляция - какой вообще ее смысл? Чтобы получить переменную класса по правилам ооп нужно создавать метод для ее чтения? когда такой подход оправдан - ведь затрачивается куча лишнего времени.
5
|
|
| 09.02.2010, 13:44 | |
|
Ответы с готовыми решениями:
793
Стоит ли использовать ООП -- часть вторая
|
|
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,781
|
||||||||||||
| 08.08.2013, 23:55 | ||||||||||||
|
0
|
||||||||||||
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
|||
| 09.08.2013, 05:30 | |||
|
Кстати, передавать в качестве параметров переменные, которые должны были создаваться на стеке (float vix), — это действительно глупая затея. И она отлично показывает, как хорошо автор разбирается в вопросе.
0
|
|||
| 09.08.2013, 09:07 | ||||||
|
Вот есть простенькая структурка
0
|
||||||
|
0 / 0 / 0
Регистрация: 02.08.2013
Сообщений: 9
|
||||||||
| 09.08.2013, 21:18 | ||||||||
|
Ну, тут с тобой много кто не согласится. Читаем того же Шилдта. "В итоге внутри нашей функции не создаются никакие промежуточные переменные, а сама функция ничего не возвращает. Всё необходимое для её работы здесь передаётся функции в качестве её аргументов. В итоге при каждом запуске функции нет нужды каждый раз выделять и чистить память." а потом ты прокомментировал: "А указатели ничего в памяти не занимают, да?" И чё? И где про необходимость переинициализации, которую я упустил?
0
|
||||||||
|
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,781
|
|||||
| 09.08.2013, 21:46 | |||||
|
Вот тут: https://www.cyberforum.ru/post4927670.html
0
|
|||||
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
||||
| 10.08.2013, 06:55 | ||||
|
0
|
||||
|
0 / 0 / 0
Регистрация: 02.08.2013
Сообщений: 9
|
|||||
| 12.08.2013, 19:20 | |||||
|
...можно отказаться от лишнего резервирования (потому что в конечном счёте от него уйти невозможно). А то, что ты имел в виду другое ну дык люди обычно не экстрасенсы, чтобы угадывать твои мысли.
0
|
|||||
|
|
|||
| 12.08.2013, 19:40 | |||
|
0
|
|||
|
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,781
|
|||
| 12.08.2013, 22:40 | |||
|
0
|
|||
|
36 / 15 / 2
Регистрация: 02.09.2013
Сообщений: 565
|
|
| 05.09.2013, 00:11 | |
|
Первые шаги и первое понимание ооп большинству людей дается не просто.
Но после непростого преодоления этого барьера ,становится все на свои места. Конечно понимание и применение ооп бывают разного уровня - от новичка до матерого проффи. Но тем не менее, за первые трудности с ооп, потом программист хорошо вознаграждается его возможностями. С ООП реально понятнее и легче, причем гораздо легче! Но с одним условием - вначале нужно помучить голову, на совесть, для того что бы врубиться в это ооп. Хотя бы на простом уровне. Т.е. понимать принципы полностью, и уметь не только юзать готовые классы, но и создавать свои классы(а от них и объекты), используя реально и более менее оптимально. Как правило люди пытаются понять ооп читая книги и мучая среды разработки, от силы дней 10-12. А потом устав, бросают это дело с кашей в голове. Тут главное делать перерывы. Вся фишка, что бы понять ооп, нужно читать, мучать мозг, и экспериментировать в среде разработки обязательно с ПЕРЕРЫВАМИ! И подходить по нескольку раз к одному и тому же... Когда человек дает отдохнуть мозгу, после таких, казалось бы (а это обманчиво в начале) абстракций, то со временем укладывается в голове все довольно неплохо. Куча функций и процедур это совсем не легче. Поскольку все они действуют в итоге на глобальные данные (куча ваших глобальных переменных). А глобальные данные не имеют разделов. Они все по сути - одна куча. В ооп же, все методы (по сути теже процедуры и функции) конкретно завязанны на своих классах. И в опп мы получаем в итоге что все методы и данные с которыми они работают за счет классов четко разделенных. Т.е. нет той самой кучи глобальных итоговых данных. Ну и сцеплять действия объектов между собой очень удобно и наглядно. Добавлено через 8 минут Итак: ООП нужно понять и применять, потому так гораздо легче думать, придумывать, программировать и не взрывать себе мозг. ООП это когда каждый метод мучает данные в своем объекте. И не существует никакой глобальной аморфной итоговой кучи переменных. Процедуры и функции без ООП это трудно и тяжело, и не удобно. Со временем можно потерять нить идей своей программы и запутаться. Продедуры и функции без ООП это куча методов, которые действует в итоге на кучу глобальных данных.
0
|
|
|
36 / 15 / 2
Регистрация: 02.09.2013
Сообщений: 565
|
|
| 05.09.2013, 00:13 | |
|
0
|
|
|
36 / 15 / 2
Регистрация: 02.09.2013
Сообщений: 565
|
||
| 05.09.2013, 00:48 | ||
|
(одним, двумя предложениями). И если я пойму свою ошибку , значит это мне и другим на пользу. И еще непонятно, почему многие вначале так рьяно хватаются за это самое, процедурное программирование ? Ведь не удобно же, если честно.
0
|
||
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
|
| 05.09.2013, 01:01 | |
|
0
|
|
|
36 / 15 / 2
Регистрация: 02.09.2013
Сообщений: 565
|
|
| 05.09.2013, 01:04 | |
|
0
|
|
|
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,781
|
|||
| 05.09.2013, 08:05 | |||
|
Добавлено через 1 минуту
0
|
|||
|
|
|||
| 05.09.2013, 13:19 | |||
Сообщение было отмечено как решение
РешениеНачинающим свойственно, поняв какую-то вещь, думать, что эта вещь управляет миром. Одни думают, что "выучив" ассемблер, они напишут всё на свете, другие думают, что поняв язы языка Си++ они теперь являются специалистами в ООП и влёгкую напишут программу любой сложности. Третьи думаю, что разобравшись с работой графической библиотеки OpenGL они в одно рыло напишут офигенную трёхмерную аркаду. В реальности выбор языка программирования, выбор подхода (императивный, объектный, функциональный, что-то ещё) как правило только немного упрощает задачу, поскольку позволяет выбрать наиболее удобный инструмент для реализации конкретной цели. А решающую роль играет грамотное проектирование программы. Если программа спроектирована плохо, то никакой ООП, никакой хаскель, никакой opengl тебе не поможет в написании качественного программного продукта. Если программа спроектирована плохо, то рано или поздно проект сдохнет под грузом соплей, костылей и заплаток, привинченных к программе. Если руки прямые, ты на чистом Си напишешь сложную программу, которая легко адаптируется под новые задачи, перед ней возникающие. И такое качество программы будет только сниться криворуким гавнокодерам, которые "выучили" ООП Добавлено через 1 минуту
5
|
|||
| 05.09.2013, 14:39 | ||
|
0
|
||
| 05.09.2013, 14:39 | |
|
Помогаю со студенческими работами здесь
320
Стоит ли учить ООП в одно время с Яп Как использовать ООП в WinAvr Js class как правильно использовать ООП Когда следует использовать ООП в РНР? WITH AS стоит ли использовать Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
[golang] Угол между стрелками часов
alhaos 12.05.2026
По заданным значениям часа и минуты необходимо определить значение меньшего угла между стрелками аналогового циферблата часов.
import "math"
func angleClock(hour int, minutes int) float64 {
. . .
|
Debian 13: Установка Lazarus QT5
ВитГо 09.05.2026
Эта инструкция моя компиляция инструкций volvo
https:/ / www. cyberforum. ru/ blogs/ 203668/ 10753. html
и его же старой инструкции по установке Lazarus с gtk2. . .
|
Нейросеть на алгоритме "эстафета хвоста" как перспектива.
Hrethgir 06.05.2026
На десерт, когда запущу сервер.
Статья тут https:/ / habr. com/ ru/ articles/ 1030914/ . Автор я сам, нейросеть только помогает в вопросах которые мне не известны - не знаю людей которые знали-бы. . .
|
Асинхронный приём данных из COM-порта
Argus19 01.05.2026
Асинхронный приём данных из COM-порта
Купил на aliexpress термопринтер QR701. Он оказался странным. Поключил к Arduino Nano. Был очень удивлён. Наотрез отказывается печатать русские буквы. Чтобы. . .
|
|
попытка написать игровой сервер на C++
pyirrlicht 29.04.2026
попытка написать игровой сервер на плюсах с открытым бесконечным миром.
возможно получится прикрутить интерпретатор питон для кастомизации игровой логики.
что есть на текущий момент:. . .
|
Контроль уникальности выбранного документа-основания при изменении реквизита
Maks 28.04.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРемонтСпецтехники", разработанного в КА2.
Задача: уведомлять пользователя, если указанная заявка (документ-основание). . .
|
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
|
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2.
Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
|