Зачем нужно ООП? Почему оно лучше обычного процедурного программирования?

Какая разница - что я напишу функцию, что оберну ее в класс???? Просто запись изменится, и все. Зачем оно вообще?
Регистрируйтесь, делитесь ссылками в соцсетях, получайте на WMR кошелек 20% с каждого денежного зачисления пользователей, пришедших на проект по Вашей ссылке. Подробнее
ЛУЧШИЙ ОТВЕТ
Наставник (30730)
Главный смысл заключается в сокрытии данных. Причём эти данные сохраняются при выходе из функции. Для функционального программирования такие данные должны быть глобальными (статическими). А это значит, что к им можно получить доступ из любого места. То есть обязательно надо помнить эти имена, чтобы случайно не задействовать в других задачах. А это надо придумывать уникальные названия. В общем, сложностей и контроля добавляется куча. Это напрямую влияет на процесс отладки. При ООП имена уже сокрыты и принадлежат только данному классу. В других классах могут быть переменные с такими же именами но поле видимости у них другое. Конечно это уже описание структур в С++. Наличие приватного доступа к таким переменным - шаг классам. Вы пишете уже библиотеки для кого-то (даже для себя), где Вы определяете правила изменения переменных, то есть запрещаете неправильное использование.

ЕЩЕ ОТВЕТЫ
Знаток (425)
Согласитесь, что человек не мыслит категориями вроде "ПтицаЛетать" (это функция такая). Он мыслит иначе - есть объект Птица, и у него есть способность (метод) "Летать". Поэтому и запись $bird->fly(); гораздо проще воспринимается, быстрее укладывается в голове.

А в большом процедурном коде, совершенно точно, может разобраться только разработчик. И больше никто :)
Знаток (314)
ООП на практике (теорию отбросим) применяется для разделения задач.
К примеру один класс пишет первый программист Петя.
Второй класс пишет другой - Вася.
На пол-пути Вася понял, что мало денег запросил. Идёт к начальнику и говорит. Начальник платить не хочет и увольняет Васю.
При этом Работа Пети остаётся.
И теряется лишь труд Васи.

А если всё будет писать один программист одной задачей, на хотя бы C#, то работодателю придётся платить, иначе при его увольнении будет потеряно всё.

Короче это как на практике его применяют работодатели.

А для программиста если, то ООП удобно всё же логическим разбиением. Напр. какая наглядность от 30 функций в одном файле?
Другое дело у тебя наследование объектов, скажем 5? Свойства одних наследуются другим?

В системном администрировании - без базара, чистый C или Perl, там нефиг плюсам делать, память жрать.

Короече, ООП для логического разделения программного кода.