Зачем нужно ООП? Почему оно лучше обычного процедурного программирования?
Какая разница - что я напишу функцию, что оберну ее в класс???? Просто запись изменится, и все. Зачем оно вообще?
Мы платим до 300 руб за каждую тысячу уникальных поисковых переходов на Ваш вопрос или ответ Подробнее
ЛУЧШИЙ ОТВЕТ ИЗ 3 |
Главный смысл заключается в сокрытии данных. Причём эти данные сохраняются при выходе из функции. Для функционального программирования такие данные должны быть глобальными (статическими). А это значит, что к им можно получить доступ из любого места. То есть обязательно надо помнить эти имена, чтобы случайно не задействовать в других задачах. А это надо придумывать уникальные названия. В общем, сложностей и контроля добавляется куча. Это напрямую влияет на процесс отладки. При ООП имена уже сокрыты и принадлежат только данному классу. В других классах могут быть переменные с такими же именами но поле видимости у них другое. Конечно это уже описание структур в С++. Наличие приватного доступа к таким переменным - шаг классам. Вы пишете уже библиотеки для кого-то (даже для себя), где Вы определяете правила изменения переменных, то есть запрещаете неправильное использование.
ЕЩЕ ОТВЕТЫ |
Согласитесь, что человек не мыслит категориями вроде "ПтицаЛетать" (это функция такая). Он мыслит иначе - есть объект Птица, и у него есть способность (метод) "Летать". Поэтому и запись $bird->fly(); гораздо проще воспринимается, быстрее укладывается в голове.
А в большом процедурном коде, совершенно точно, может разобраться только разработчик. И больше никто :)
А в большом процедурном коде, совершенно точно, может разобраться только разработчик. И больше никто :)
ООП на практике (теорию отбросим) применяется для разделения задач.
К примеру один класс пишет первый программист Петя.
Второй класс пишет другой - Вася.
На пол-пути Вася понял, что мало денег запросил. Идёт к начальнику и говорит. Начальник платить не хочет и увольняет Васю.
При этом Работа Пети остаётся.
И теряется лишь труд Васи.
А если всё будет писать один программист одной задачей, на хотя бы C#, то работодателю придётся платить, иначе при его увольнении будет потеряно всё.
Короче это как на практике его применяют работодатели.
А для программиста если, то ООП удобно всё же логическим разбиением. Напр. какая наглядность от 30 функций в одном файле?
Другое дело у тебя наследование объектов, скажем 5? Свойства одних наследуются другим?
В системном администрировании - без базара, чистый C или Perl, там нефиг плюсам делать, память жрать.
Короече, ООП для логического разделения программного кода.
К примеру один класс пишет первый программист Петя.
Второй класс пишет другой - Вася.
На пол-пути Вася понял, что мало денег запросил. Идёт к начальнику и говорит. Начальник платить не хочет и увольняет Васю.
При этом Работа Пети остаётся.
И теряется лишь труд Васи.
А если всё будет писать один программист одной задачей, на хотя бы C#, то работодателю придётся платить, иначе при его увольнении будет потеряно всё.
Короче это как на практике его применяют работодатели.
А для программиста если, то ООП удобно всё же логическим разбиением. Напр. какая наглядность от 30 функций в одном файле?
Другое дело у тебя наследование объектов, скажем 5? Свойства одних наследуются другим?
В системном администрировании - без базара, чистый C или Perl, там нефиг плюсам делать, память жрать.
Короече, ООП для логического разделения программного кода.
ПОХОЖИЕ ВОПРОСЫ |