Другие языки программирования и технологии

ооп зачем оно нужно?

Приветствую.
Можно сказать только что начал более менее соображать в процедурном программировании на php, а тут еще Объектно-ориентированное программирование попалось.
Чуть углубился в него, написал пару "функций", но не понял, чем лучше, скорее всего сложнее.
ZM
Zhenysbek Murat
798
ООП позволяет разделить процедурный монолит на отдельные блоки - классы, каждый из которых отвечает за небольшой и чётко определённый набор действий, никак на зависящих от того, что происходит внутри других блоков.

Да, обучаться сложнее. Но в результате код становится проще.

Разумеется, в ООП есть и функции, и процедуры. И то, что они называются "методы", ничего не меняет. Всего лишь дополнительный скрытый параметр - указатель на объект, для которого они вызываются. В этом отношении лучше начинать изучение ООП с Oberon или Go - в которых ООП прекрасно существует без этой страуструповской магии. И ни в коем случае не надо считать ООП способом моделирования "реального мира": это любимое Страуструпом объяснение работает только для очень узкого круга задач и потому создаёт ложное представление об ООП.
АТ
Андрей Толкачев
53 988
Лучший ответ
В ООП нет функций. Есть методы. А нужно оно для того, чтобы описать создаваемый "мир" с помощью понятий, используемых в реальной жизни.

Нужно почитать книжки, потому что в двух словах это не объяснить.
Zhenysbek Murat да я знаю, что нет функций, по этому и взял в кавычки. Просто для меня любой код выполняет определенную функцию, вот поэтому и назвал так.
Не обращай внимания, просто программисты прикалываются.

А если серьезно при процедурном подходе при сколь-нибудь большом увеличении программы обеспечивать ее работоспособность становится все сложнее. Объектный подход здорово позволяет в большей степени расширять программы с адекватной возможностью их поддержки.
&&
"one" "republic"
11 032
Грубо говоря, процедурный метод - это конкретные решения, тактика. А ооп позволяет создать сложную картину используя в т. ч. и процедурный подход, стратегия. Когда будешь писать большие приложения без ооп никуда.