Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Не понимаю ООП [7]

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (8): « 1 2 3 4 5 6 [7] 8 »   

> Без описания
DeepVarvar Супермодератор
Отправлено: 20 Мая, 2013 - 16:29:44
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




caballero пишет:
и в чем эта необходимость выражается?
Видимо просто зачесалось:
Цитата:
ООП это разновидность дедовщины. Старослужащие засерают мозг начинающим и управляют ими, не на основе того, что они умнее или талантливее, а просто потому что знают набор вшивых паттернов(ака костылей). Новички ООП то-же не особо сопротивляются, так как знают что буквально через год будут делать с другими новоприбывшими то-же самое, что делают сейчас с ними.
 
 Top
PHPLamer
Отправлено: 20 Мая, 2013 - 16:47:11
Post Id



Частый гость


Покинул форум
Сообщений всего: 171
Дата рег-ции: Сент. 2008  
Откуда: Russia, Krasnodar


Помог: 2 раз(а)




DeepVarvar пишет:
caballero пишет:
и в чем эта необходимость выражается?
Видимо просто зачесалось:
Цитата:
ООП это разновидность дедовщины. Старослужащие засерают мозг начинающим и управляют ими, не на основе того, что они умнее или талантливее, а просто потому что знают набор вшивых паттернов(ака костылей). Новички ООП то-же не особо сопротивляются, так как знают что буквально через год будут делать с другими новоприбывшими то-же самое, что делают сейчас с ними.


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

(Отредактировано автором: 20 Мая, 2013 - 17:11:35)

 
 Top
caballero
Отправлено: 20 Мая, 2013 - 17:18:52
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




PHPLamer
структуировать код можно и без ООП. ООП это умение соответствующим образом мыслить. Иначе у тебя получится тот же говнокод только еще более запутаный.
ООп нужно применять когда ты начинаешь понимать - вот в этом месте мне нужен объект. А не просто лепить обьекты где попало.


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
esterio
Отправлено: 20 Мая, 2013 - 17:21:22
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




код может быть структурован и понятен без использования ООП и паттернов. Что все заладили ООП и ООП. Я например два года коджу и сам толком не знаю ООП. И разделяю я теоретиков и практиков. А практика имеет свойство быть совсем другой чем теория. Поетому если пишите для себя то конечно да - пишите в ООП с использованием тонны патеррнов. Через месяц згляните на то что написали и перепишите заново. Потом еще раз - потому как небывает ничего идеального. И если Вы замечаете ошыбки в своем коде - значит вы учитесь. И вместо того чтобы спрашиваь про какую-то вакуумную область возьмите и попробуйте. А атм и практика придет, и понимание и т.д.

П.С. все сказаное ИМХО и может не соотвествовать мнению других.
 
 Top
LIME
Отправлено: 21 Мая, 2013 - 11:47:04
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




caballero пишет:
когда ты начинаешь понимать - вот в этом месте мне нужен объект. А не просто лепить обьекты где попало.
к сожалению чтобы начать понимать надо сначала "просто лепить объекты"
esterio соответствует
 
 Top
igosja
Отправлено: 18 Сентября, 2013 - 14:11:50
Post Id



Гость


Покинул форум
Сообщений всего: 77
Дата рег-ции: Март 2013  
Откуда: https://vhol.org


Помог: 3 раз(а)




Я с ООП не дружу, о чем писал страницы 3-4 назад.
Вот почитал литературу, появилась мысль, прошу опытных людей сказать, правильная она или нет.
Мысль такова - ООП это дальнейшие шаги к абстракции; если бы программирование не двигалось в сторону абстракции, мы бы до сих пор программировали единицами и ноликами.

То есть, функция, к примеру, round(х,у) - это тот же класс. Мы знаем как функция принимает входящие значения (х - округляемое число, у - степень округления) и знаем как она выдает результат. Что происходит внутри (в ядре функции) - это скрыто. Так же с классом.

Если мысль я уловил правильно, то дальнейшее объяснение того, что такое ООП и зачем оно нужно мне уже не требуется.

(Отредактировано автором: 18 Сентября, 2013 - 15:56:13)

 
 Top
Zuldek
Отправлено: 18 Сентября, 2013 - 14:17:15
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010  


Помог: 50 раз(а)




igosja пишет:
Я с ООП не дружу, о чем писал страницы 3-4 назад.
Вот почитал литературу, появилась мысль, прошу опытных людей сказать, правильная она или нет.
Мысль такова - ООП это дальнейшие шаги к абстракции; если бы программирование не двигалось в сторону абстракции, мы бы до сих пор программировали единицами и ноликами.
Если мысль я уловил правильно, то дальнейшее объяснение того, что такое ООП и зачем оно нужно мне уже не требуется.

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

(Отредактировано автором: 18 Сентября, 2013 - 14:22:38)

 
 Top
igosja
Отправлено: 15 Октября, 2013 - 20:40:02
Post Id



Гость


Покинул форум
Сообщений всего: 77
Дата рег-ции: Март 2013  
Откуда: https://vhol.org


Помог: 3 раз(а)




А если брать в общем, то я думаю, что конечный результат больше зависит от прослойки между креслом и монитором, чем от использования или неиспользования ООП.

(Отредактировано автором: 15 Октября, 2013 - 20:40:18)

 
 Top
deblogger
Отправлено: 01 Ноября, 2013 - 08:45:30
Post Id


Новичок


Покинул форум
Сообщений всего: 59
Дата рег-ции: Нояб. 2013  


Помог: 0 раз(а)

[+]


igosja пишет:
Мысль такова - ООП это дальнейшие шаги к абстракции; если бы программирование не двигалось в сторону абстракции, мы бы до сих пор программировали единицами и ноликами.


Нет ничего более абстрактного чем единицы и нолики. Найдите перфоркарту и расскажите о чем вам ее дырки поведали.

Для тех кто начинает изучать. Не все так сложно когда понимаешь и все очень сложно когда не понимаешь. Это общее правило изучения предмета? Это общее правило изучения любого предмета. Нет другого пути как создать в голове структуру ответственную за понимание этого предмета - понятие. Нейронно именно так все и происходит. Чтобы понять как устроен объект или явление - надо организовать определенным образом связи в мозгах. Пока эти связи не установлены - вы не понимаете. Устанавливаются - начинаете понимать, установились более-менее - поняли. Затем только наращивание мощности. Мощность потребляет ресурсы, требует приложения силы. Поэтому дело не в сложности - а в трудности. Хотите что-то понять - не бойтесь трудностей.

В программировании нет разницы из чего растут объекты. Это не реализация, а принцип. В процедуре вы имеете дело с набором типов данных. Целое, строка, с точкой, дата и тп. В объекте - со структурой. Структура описывается в классе. Затем нетрудно воткнуть в эту структуру ссылки на точки вызова функций и выложив по известным смещениям параметры - вот вам и методы. Которые в пределах выделенной памяти под подведомственную им структуру могут ей оперировать. Таким образом у процедуры нет интерфейса - у объекта он есть. Процедура может взаимодействовать с другими процедурами повинуясь коду процедуры main (грубо говоря, внепроцедурному коду). Обхект взаимодействует с другими объектами согласно плану - классу - через свой интерфейс.

Интерфейс это станция пересадки. Например я сейчас использую веб-интерфейс доступа к объекту БД этого форума. Поедая колбасу вы используете как интерфейс системы питания - рот и желудок.

Короче, если не понятно - смотрите первый абзац. Нельзя ничего понять не понимая.
(Добавление)
Много метафор для ООП, типа вот чертеж, вот здание. Это значит класс и объект. Прикольно, тогда инъекция объекта будет означать проникновение через окно, а статический объект - жизнь на чертеже. Типа на ночь дом собирают, на день разбирают.

Так вот, я еще одну придумал. Процедуры плавают в питательном бульоне пока их не соединят в объекты - в молекулы способные реплицироваться. Репликация обусловлена наличием интерфейса, того самого. Объект может взять и сам себя скопировать. А функция - не может. У нее нет плана постройки самой себя, у нее нет ДНК. У объекта - есть такой план - это класс. Поэтому ООП это жизнь, а ПП - не жизнь. Что не умаляет, конечно.

Кстати, жизнь с точки зрения ООП - абсолютно абстрактна. Способна появляться в любых достаточных для репликации условиях. Напишите такой класс, попробуйте.
(Добавление)
UPD, у процедуры есть интерфейс, но примерно такого метафорического порядка как если вас подключить не к колбасе с хлебом, а к аппарату закачивающему в вены все необходимые питательные вещества.
 
 Top
like_you
Отправлено: 11 Апреля, 2014 - 04:04:31
Post Id


Гость


Покинул форум
Сообщений всего: 82
Дата рег-ции: Июнь 2010  
Откуда: Харківська обл. с. Криштопівка


Помог: 0 раз(а)




Спустя пару годиков программирования с помощью ООП на PHP, могу это образно сравнить следующим образом.

Действующие "лица" в процедурном стиле программирования:

  1. главнокомандующий - это сам программист
  2. генерал - это PHP
  3. оружие - это функции
  4. библиотеки функций - это наемные солдаты
  5. боеприпасы - это данные и переменные
  6. поле боя - страницы скрипта


Действующие "лица" в ООП стиле программирования:

  1. главнокомандующий - это сам программист
  2. генерал - это PHP
  3. карты поля боя - это абстрактные классы и интерфейсы
  4. структуры спецвойск (пихота, артилерия, десант...) - это классы готовые для реализации
  5. особые войска - связисты - это области видимости (public, protected, private)
  6. солдаты спецвойськ - это объекты классов
  7. войска союзников - это библиотеки классов
  8. оружие - это методы классов
  9. боеприпасы - это данные и переменные
  10. поле боя - страницы скрипта

(Отредактировано автором: 11 Апреля, 2014 - 04:25:46)



-----
Створюю український хабр
 
 Top
caballero
Отправлено: 11 Апреля, 2014 - 10:06:24
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




лучше бы ты за эти пару лет освоил какую профессию не связанную с программированием


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
PHPLamer
Отправлено: 11 Апреля, 2014 - 11:27:35
Post Id



Частый гость


Покинул форум
Сообщений всего: 171
Дата рег-ции: Сент. 2008  
Откуда: Russia, Krasnodar


Помог: 2 раз(а)




В армию сходил Ха-ха
 
 Top
like_you
Отправлено: 11 Апреля, 2014 - 17:24:05
Post Id


Гость


Покинул форум
Сообщений всего: 82
Дата рег-ции: Июнь 2010  
Откуда: Харківська обл. с. Криштопівка


Помог: 0 раз(а)




caballero пишет:
лучше бы ты за эти пару лет освоил какую профессию не связанную с программированием
И что тебе, как специалисту высокого класса, показалось в моем сравнении не правильным?


-----
Створюю український хабр
 
 Top
caballero
Отправлено: 11 Апреля, 2014 - 18:10:05
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




сравнение настолько бессмысленное что определение правильного и неправильного также теряет всякий смысл


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
like_you
Отправлено: 11 Апреля, 2014 - 18:20:07
Post Id


Гость


Покинул форум
Сообщений всего: 82
Дата рег-ции: Июнь 2010  
Откуда: Харківська обл. с. Криштопівка


Помог: 0 раз(а)




caballero пишет:
сравнение настолько бессмысленное что определение правильного и неправильного также теряет всякий смысл
Ото ты такой специалист...


-----
Створюю український хабр
 
 Top
Страниц (8): « 1 2 3 4 5 6 [7] 8 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Объектно-ориентированное программирование »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB