![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 8 Всего: 261 |
Коллеги, обратите внимание на дату поста, предшествующего "своевременному" посту топик-реаниматора...
|
|||
|
||||
Feldmarschall |
|
|||
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: -2 Всего: 32 |
Эх. Надо ж было так облажаться.
Но тема все равно актуальная. |
|||
|
||||
02077461 |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 183 Регистрация: 13.7.2005 Репутация: нет Всего: 0 |
Это называется инкапсуляция, и является одним из преимуществ ООП.
Я не писал про классы, реализующие основные операции в PHP, я писал про классы, работающие с объектами, абстрагированно, не зная что это за объект, но зная, что он обладает всеми свойствами "контента". Процетированная фраза говорит о тех же классах-обертках.
Ну, уж далеко не каждый человек. ООП сродни некоторому исскуству, как по мне. Как в математике: найти производную каждого можно научить, а вот найти интеграл... Что бы правильно использовать ООП надо уметь думать, анализировать. |
||||
|
|||||
bobik02 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 451 Регистрация: 26.11.2007 Репутация: нет Всего: 14 |
02077461 - Могильщик
![]() Но все же как было подмечено тема актуальна ... До этого писал на процедурном (и пишу), так как в том что нужно было писать, не нужна была ОО парадигма. Хотя основы еще тогда из книжек "знал", но как говориться не "пощупал ручками". Сейчас на рисовался проект, с связи с двумя факторами: Писать будут 2 человека. В будущем функционал будет расширятся ! Было принято решение писать на ООП, потому что: Я считаю проще будет распределить обязанности за написания отдельных участков кода. Также проще будет объединить наши участки кода. Проще будет расширить возможности, т.е. более гибкая к изменениям система(При условии что мы "правильно" спроектируем систему). Только в этом я вижу преимущество ООП перед процедурным. Хотелось бы услышать мысли тех кто использует ООП, и какие преимущества Вы видите в ООП ? -------------------- Have a nice day |
|||
|
||||
source777 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1878 Регистрация: 12.3.2007 Репутация: нет Всего: 56 |
Это бестолку объяснять, это понять нужно. Какие преимущества у авиалайнера перед бумажным самолётиком?
P.S. PHP вообще как язык не очень, а уж объектно-ориентированным его называть вообще смешно, однако и в нём можно ООП применять вопреки языку. -------------------- Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте |
|||
|
||||
bobik02 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 451 Регистрация: 26.11.2007 Репутация: нет Всего: 14 |
Никаких, каждый из них предназначен для разных функций. Тема сегодня — Объектно-ориентированный PHP (плюсы и минусы приминения ООП), разъясните, пожалуйста, вашу позицию по этому вопросу! -------------------- Have a nice day |
|||
|
||||
lukas |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 771 Регистрация: 23.2.2007 Репутация: нет Всего: 15 |
Преимущеста ООП в PHP такие же как и в ООП в С++, Делфи, Java ... правильно сказал source777,
ООП предоставляет кучу возможностей: 1. Структуированное проектирование проекта 2. Наследование классов дает такой скачок в скорости разработки, если кто-то не использует это, значит не знает как использовать. 3. Легкая доработка, очень легкое обнаружение багов, все как в огромном механизме, там поменял шпунтик, тут заменил часть механизма, а логика то вся одна, а реализация может меняться. Вот мое сравнение процедурной парадигмы и ООП.. Процедурный язык - это все равно что разобранный конструктор, для изменения которого приходится постоянно разбирать и собирать всю модель, а ООП - это тот же конструктор, в котором достаточно заменить одну часть, без развинчивания всей модели. -------------------- http://code.google.com/p/orionphp/ - opensource скриптовой язык Orion (аналог PHP) для freepascal/delphi. |
|||
|
||||
krundetz |
|
|||
![]() Вечный странник ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1400 Регистрация: 14.6.2007 Где: НН(Сормово) Репутация: 1 Всего: 69 |
lukas, правильно подмечено это как в машиностроение из одних и техже компонентов можно собрать как трактор так и грузовик, а потом взять и собрать из этого вертолет
Это сообщение отредактировал(а) krundetz - 20.8.2008, 21:34 |
|||
|
||||
Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 1 Всего: 71 |
я начал только постягать азы.. Не вижу никакого отличия по сравнению с использованием отдельных функций пока. НО(!) В ZendStudio я меньше трачу времени печатая код, т.к. все переменные и функции классов у меня "под рукой"
![]() Универсальных классов я пока не встречал, для каждого проекта они все разные. Му может только исключение составляет работа с базой и почтой ![]() А начал писать скорее по тому, что все "продвинутые" так делают в надежде что в будущем осознаю приемущество ;) -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
krundetz |
|
|||
![]() Вечный странник ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1400 Регистрация: 14.6.2007 Где: НН(Сормово) Репутация: 1 Всего: 69 |
Gold Dragon, класс тем универсальнее чем меньше функциональности в нем реализовано. В большинстве случаев такие классы наследуются и их функционал значительно расширяется.
Допусти у меня есть 2 класса которые отрисовывают на экране свое содержимое. Но у меня такая ситуация это содержимое может формироваться совершенно разным образом что делать? А делать следующие взять и выделить ту часть которая отвечает за отрисовку в одельный класс а ту что отвечает за формирование оставить в этих и унаследовать новый класс обоими классами. В итоге получаем два не универсальных класса и один универсальный который может использоваться и в других ситуациях. В общем посмотрите в сторону такого понятия как рефакторинг и обекто-ориентированое проектирование. |
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 8 Всего: 261 |
Если вы мне покажите хоть один трактор с турбовинтовым двигателем и винтом, а также аэродинамичны корпусом, а еще покажите вертолет с колесами диаметром метр-полтора, я с вами соглашусь... про автоматику я вообще молчу.. |
|||
|
||||
krundetz |
|
|||
![]() Вечный странник ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1400 Регистрация: 14.6.2007 Где: НН(Сормово) Репутация: 1 Всего: 69 |
Mal Hack, смотрите мой придыдущий пост там как раз я затронул тему что есть универсальные классы(детали) а есть неуниверсальные характерные только для данной модели. Про трактора на турбореактивной тяге я не слышал хотя возможно такие и делали а вот про железнодорожные локомотивы слышать приходилось они использовали в себе турбины от какогото самолета. Или танк Т-80 который использует немного модернезированый движек от вертолета вроде ми-8 хотя конечно могу ошибаться. На счет винтов есть такое понятие как аэросани в начале 30 годов там вовсю использовались авиационные винты собственно как и движки.
Это сообщение отредактировал(а) krundetz - 22.8.2008, 08:42 |
|||
|
||||
Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 1 Всего: 71 |
Mal Hack, krundetz, может вам на тракторномоторный форум?
![]() а по теме... сейчас я только дошёл до того что объединил отдельные свои модули и функции в классы по группам. стало более читаемо и понятнее при условии когда чуть забудешь что писал неделю назад ![]() -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
Mal Hack |
|
||||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 8 Всего: 261 |
Движо вертолета в корне отличается от движка танка ![]()
Ну мы же развиваем винград в разных направлениях ![]() krundetz, по поводу предыдущего поста и универсальности... Я не машиностроитель, а приборист и могу сказать, что универсальность - фигня полная. В технике, если и реализуется, то оооочень редко и на ооооочень небольших участках задач. Что касается ООП, я уже тут не в одной теме озвучивал свою позицию. ООП как проектирование - к языку вообще мало имеет отношение, оно лишь учитывает некоторые возможности языка, не более того. ООП как программирование с точки зрения ПХП - абсурд, т.к. ПХП как был структурированным языком, так им и остался, ООП в пхп носит лишь информационную модель, в которой нет событийности, за исключением __call, __get, __construct, __destruct и trigger_errors, ну может еще небольшой части. В ПХП ООП - просто синтаксически дает синтаксис ООП, а следовательно более простую реализацию приложения, спроектированного по принцыпам ООПроектирования, чем при полностью структурном описании. Хотя, конечно, зависит от задачи. Самый просто пример. Покажите, где у вас объекты в ПХП. Модули? А вы уверены что они у вас именно живут как объекты, а не просто как синтаксически стилизованный набор функций? В ПХП объекты, как объекты - не живут.. |
||||
|
|||||
Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 1 Всего: 71 |
да уж... многие здесь пишут и на других языках, вот и возникают ошибки в терминологии
![]() ![]() -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Для профи | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |