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
Форумы портала PHP.SU :: Версия для печати :: ООП, с чем его курить?
Форумы портала PHP.SU » PHP » Программирование на PHP » ООП, с чем его курить?

Страниц (2): [1] 2 »
 

1. NOBEL - 24 Ноября, 2008 - 12:40:37 - перейти к сообщению
Прочитал несколько учебников по php, впринципе знаю много, некоторые функции конечно подглядываю в справочник, но основы усвоил железно.

НО!!!!!!!! Не понял
Не могу понять куда фтыкать присловутый ООП! А?!
Какие удобства от него? Всё решаемо с помощью function. Нунчаки
2. Champion - 24 Ноября, 2008 - 12:47:01 - перейти к сообщению
ООП, и не только в php нужен для следуюущих целей.
Можно конечно всё реализовать отдельными переменными и функциями, но:
1-Просто удобнее собрать их в один объект.
2-Инкапсуляция и сокрытие некоторых данных и методов. Чтобы данные объекта менять только через интерфейсы, а не напрямую. Это и от ошибок убережет и от безопасности.
3-Наследование
4-что-то больше особо не вспоминается
(Добавление)
А втыкать его туда, где есть необходимость в выше перечисленном
(Добавление)
Кстати,
NOBEL пишет:
Всё решаемо с помощью function.
Тогда уж зачем function? Все решаемо переписыванием кода! Все ходы записаны
3. NOBEL - 24 Ноября, 2008 - 12:51:51 - перейти к сообщению
Champion пишет:
1-Просто удобнее собрать их в один объект.
2-Инкапсуляция и сокрытие некоторых данных и методов.

Вполне неплохо решаемо с помощью функций, сама метода даже более понятна.
Champion пишет:
3-Наследование

Не подскажите пример использлвания? А то может мне это очень надо, а я это не пользую.
4. Champion - 24 Ноября, 2008 - 13:05:08 - перейти к сообщению
Примеров использования полно в мануалах. вот http://www.php.su/learnphp/phpoo/?ci
Пример надобности, думаю, не нужен. Раз пишите, что нужно, значит знаете для чего
5. EuGen - 24 Ноября, 2008 - 13:11:21 - перейти к сообщению
Инкапсуляция
Полиморфизм
Наследование

___
Когда Вы поймете, для чего это все нужно, то и сможете определить, в какой ситуации предпочтительнее использовать ООП, а когда можно ограничиться написанием простой функции.
ООП - не панацея. Это - лишь метод, прием и подход к программированию. Но современные системы становятся настолько сложны, что зачастую без этого не обойтись.
6. NOBEL - 24 Ноября, 2008 - 13:11:57 - перейти к сообщению
Вроде не тупой, но непойму, НАФИК они нужны?
Все примеры как-то слишком отдалены от практики, что с помощью методов и классов можно сделать?
7. Champion - 24 Ноября, 2008 - 13:18:20 - перейти к сообщению
ну это трудно просто словами взять да объяснить.
Вы же понимаете для чего нужны функции. Ведь можно же просто скопировать код, поменять в нем несколько значений...
Вот и с ООП примерно так. +читайте всё выше написанное.
8. NOBEL - 24 Ноября, 2008 - 13:32:39 - перейти к сообщению
Мля, моск вскипел.
Я понимаю как это всё работает, понимаю какие удобства появляются,
но не пойму, что можно улучшить с их помощью!

________________________________ ________________________________ _____

Разнесу!
9. EuGen - 24 Ноября, 2008 - 13:42:26 - перейти к сообщению
Да, конечно. Попробуем еще раз, может, Вам поможет:
http://www[dot]firststeps[dot]ru/theory/oop/r.php?2
http://www.php.su/learnphp/phpoo/?basic
10. Гость - 24 Ноября, 2008 - 16:52:27 - перейти к сообщению
Я думаю поможет чтеие исхрдников всяких CMSок, не знаю даже, почитайте исходники E107, там вроде ООП было
И посмотрите преимущества на примере него
11. Champion - 25 Ноября, 2008 - 09:38:20 - перейти к сообщению
JustUserR пишет:
И посмотрите преимущества на примере него
. Я бы даже сказал "Попробуйте переписать это на функциях". И увидите, чем ООП лучше
12. Джур - 26 Ноября, 2008 - 06:03:49 - перейти к сообщению
NOBEL пишет:
но не пойму, что можно улучшить с их помощью!

Ну насамом деле вы частично правы... Без классов прожить можно и иногда от них пользы, как от козла молока. Но кое где они полезны.

Представте что вам надо работать с персонажами в вашем приложении.
1. координата содержит как минимум X,У,Z определенные правила их поведения и ограничения.
2. так-же это может быть номер скина и такие параметры как "оружие, патроны, усталость"

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

Представте что бота убили, тогда надо правильно удалить его. если это в виде слойки данных, то надо быть аккуратным.
а для экземпляра класса просто unset($bot[12]); и деструктор сделает все те мелочи которые необходимы.

Наследование... Представте что вы две недели писали класс "фашистов"... и тут вбегает директор и "в темпе" требует чтобы вы сделали еще и союзников и гражданских...
вы белете класс "фашистов", наследуете его свойства в "союзники" заменяя желание убить вас, на желание убивать фрицев... Удобно.

Правда тут можно накосячить и тогда "гражданские" будут бегать со шмайсерами и стрелять во всех подряд. Ха-ха

Как видите, классы полезны, но за бездумное их использование надо закармливать печенюшками насмерть. вот.
13. Champion - 26 Ноября, 2008 - 08:44:38 - перейти к сообщению
Джур, объяснение мне понравилось)) Всё четко и просто!
14. ALEN - 26 Ноября, 2008 - 09:43:56 - перейти к сообщению
Champion
Сказал бы, что нужно этот пример на первую страницу в ООП вписать, а то я в свое время долго пробегал, чтоб понять это. Я думаю еще большенство так бегает.
15. NOBEL - 26 Ноября, 2008 - 12:28:37 - перейти к сообщению
Кажись я всё понял.
Повоюем!

Фсем спасибо!!!!!!!!!!!!!!!!!!!

 

Powered by ExBB FM 1.0 RC1