[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: ооп
Страницы: 1, 2, 3
krivarik
Здравствуйте, кто нибуть сможет объяснить или дать ссылку на ресурс но с понятным описанием зачем нужно ООП, а то так и не понял. На днях читал книгу ООП на РНР но так и не понял вчем его преимущество. Мало того что книга с ошибками в коде но так толком не разъясняет зачем надо ООП, по книге я только понял что то что предлагается сделать можно сделать процедурно и быстер без всяких заморочек.
paul85
krivarik, это холивар еще тот. Можно спорить до бесконечности что лучше и почему. Лично мне нравится больше ООП, с ним программа становится более читабельной что ли... Да и вообще большинство современных библиотек построено по принципу ООП...

Есть мнение, что изначально объектно-ориентированный подход создавался именно для написания библиотек. Ну хотя бы потому, что в нем есть наследование. Вот например, вы решили, что метод query, скажем, в библиотеке goDB не очень вам подходит. Но в целом библиотека нравится. Что делать? Можно пойти и исправить код. Но тогда при обновлении версии придется снова исправлять код. А так вы унаследовали библиотечный класс, перегрузили метод query и по идее ваш код должен быть совместим с более новыми версиями. Вы уже на этот счет не заморачиваетесь.
Michael
Цитата (paul85)
Есть мнение, что изначально объектно-ориентированный подход создавался именно для написания библиотек.

одна из причин.

С библиотеками и модульное программирование (которое после процедурного идет) справлялось т.к. реализовывало инкапсуляцию. Конечно дальше уже ООП зарулило, и рулит с тех пор, как более естественный вариант.

krivarik, тут вопрос в мышлении. Если рассматривать программу как просто алгоритм который выполнился и выдал результат, то процедурный подход тоже является естественным. Как например писались программы под DOS ? Входное событие от пользователя произошло, оно пошло выполняться и отдало ему результат, ждет новой реакции от пользователя (в пхп та же логика.)
Но потом появилась многозадачность и о такой простоте пришлось забыть. Многозадачность, которая позволяет реально моделировать системы. И понадобились более естественные методы разработки.
Глянь вокруг на мир, что ты там видишь? Объекты, которые состоят из объектов, взаимодействуют с другими объектами.
Соответственно в ооп другой подход - там объекты обмениваются между собой событиями.

_____________
There never was a struggle in the soul of a good man that was not hard
twin
Michael
Цитата
Глянь вокруг на мир, что ты там видишь? Объекты, которые состоят из объектов, взаимодействуют с другими объектами.
Мир так несовершенен, что порой даже страшно... А по его подобию построили парадигму. sad.gif

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Michael
Мир и природа совершенны, это мы люди, как зеркала, несовершенны. smile.gif

_____________
There never was a struggle in the soul of a good man that was not hard
Zzepish
Холливар в теме ощущаю я
twin
Неее. Если бы мир был совершенен, то водка была бы полезной. smile.gif

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
twin
Ну так я про что и говорю... Какое тут совершенство. Всё, что в этом мире приятно, или вредно или аморально или ведет к ожирению. sad.gif

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
kaww
twin, мир - это не только человек и то до чего он может дотянуться своими руками, да и в целом он спроектирован неплохо . А то, что
Цитата (twin @ 3.08.2013 - 11:37)
Если бы мир был совершенен, то водка была бы полезной.

, - это не баг, это фитча. smile.gif
bestxp
понаехали тут, процедруное это предыдущий шах, ООП это совеременность, да возненавидят меня процедурники, но процедурное это устарелое, сейчас актуально 2 функциональное и Объектное, ПХП не является функциональным языком, следовательно является объектным, хотя он эволюционировал из процедурного.

Кому нравиться процедурщина , попробуйте Хаскель, Ерланг или Лисп например
twin
Цитата (bestxp @ 3.08.2013 - 14:50)
ПХП не является функциональным языком, следовательно является объектным, хотя он эволюционировал из процедурного.


Можно с этого места поподробнее?

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
paul85
У меня процедурный подход вызывает жуткое унынье... Каждый раз либо параметры передавать туда-сюда, либо делать глобальные переменные. Когда одна функция вызывает другую, как бы внутри сущности, - это кошмар как неудобно!

В ООП этот вопрос решен ИМХО крайне удачно, через поля класса (некоторые почему-то называют их свойствами). А учитывая, что класс по правилам должен реализовывать лишь одну сущность, то эти переменные практически никогда не требуются вне объекта. Return можно делать лишь готового результата, а не промежуточного.

Ну мне так кажется...
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.