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 :: ООП, с чем его курить?

 PHP.SU

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


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

> Без описания
NOBEL
Отправлено: 24 Ноября, 2008 - 12:40:37
Post Id



Частый гость


Покинул форум
Сообщений всего: 146
Дата рег-ции: Май 2008  
Откуда: Сутки до японии, неделя до Москвы


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




Прочитал несколько учебников по php, впринципе знаю много, некоторые функции конечно подглядываю в справочник, но основы усвоил железно.

НО!!!!!!!! Не понял
Не могу понять куда фтыкать присловутый ООП! А?!
Какие удобства от него? Всё решаемо с помощью function. Нунчаки


-----
купил камаз и не жалею,...
никого не жалею!!!
 
 Top
Champion Супермодератор
Отправлено: 24 Ноября, 2008 - 12:47:01
Post Id



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


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


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




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



Частый гость


Покинул форум
Сообщений всего: 146
Дата рег-ции: Май 2008  
Откуда: Сутки до японии, неделя до Москвы


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




Champion пишет:
1-Просто удобнее собрать их в один объект.
2-Инкапсуляция и сокрытие некоторых данных и методов.

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

Не подскажите пример использлвания? А то может мне это очень надо, а я это не пользую.


-----
купил камаз и не жалею,...
никого не жалею!!!
 
 Top
Champion Супермодератор
Отправлено: 24 Ноября, 2008 - 13:05:08
Post Id



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


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


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




Примеров использования полно в мануалах. вот http://www.php.su/learnphp/phpoo/?ci
Пример надобности, думаю, не нужен. Раз пишите, что нужно, значит знаете для чего
 
 Top
EuGen Администратор
Отправлено: 24 Ноября, 2008 - 13:11:21
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


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




Инкапсуляция
Полиморфизм
Наследование

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


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
NOBEL
Отправлено: 24 Ноября, 2008 - 13:11:57
Post Id



Частый гость


Покинул форум
Сообщений всего: 146
Дата рег-ции: Май 2008  
Откуда: Сутки до японии, неделя до Москвы


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




Вроде не тупой, но непойму, НАФИК они нужны?
Все примеры как-то слишком отдалены от практики, что с помощью методов и классов можно сделать?


-----
купил камаз и не жалею,...
никого не жалею!!!
 
 Top
Champion Супермодератор
Отправлено: 24 Ноября, 2008 - 13:18:20
Post Id



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


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


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




ну это трудно просто словами взять да объяснить.
Вы же понимаете для чего нужны функции. Ведь можно же просто скопировать код, поменять в нем несколько значений...
Вот и с ООП примерно так. +читайте всё выше написанное.
 
 Top
NOBEL
Отправлено: 24 Ноября, 2008 - 13:32:39
Post Id



Частый гость


Покинул форум
Сообщений всего: 146
Дата рег-ции: Май 2008  
Откуда: Сутки до японии, неделя до Москвы


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




Мля, моск вскипел.
Я понимаю как это всё работает, понимаю какие удобства появляются,
но не пойму, что можно улучшить с их помощью!

________________________________ ________________________________ _____

Разнесу!


-----
купил камаз и не жалею,...
никого не жалею!!!
 
 Top
EuGen Администратор
Отправлено: 24 Ноября, 2008 - 13:42:26
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


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




Да, конечно. Попробуем еще раз, может, Вам поможет:
http://www[dot]firststeps[dot]ru/theory/oop/r.php?2
http://www.php.su/learnphp/phpoo/?basic


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Гость
Отправлено: 24 Ноября, 2008 - 16:52:27
Post Id


УДАЛЁН










Я думаю поможет чтеие исхрдников всяких CMSок, не знаю даже, почитайте исходники E107, там вроде ООП было
И посмотрите преимущества на примере него
 
 Top
Champion Супермодератор
Отправлено: 25 Ноября, 2008 - 09:38:20
Post Id



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


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


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




JustUserR пишет:
И посмотрите преимущества на примере него
. Я бы даже сказал "Попробуйте переписать это на функциях". И увидите, чем ООП лучше
 
 Top
Джур
Отправлено: 26 Ноября, 2008 - 06:03:49
Post Id



Посетитель


Покинул форум
Сообщений всего: 423
Дата рег-ции: Март 2007  


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




NOBEL пишет:
но не пойму, что можно улучшить с их помощью!

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

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

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

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

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

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

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


-----
Тамбовский каджит тебе товарищ
 
 Top
Champion Супермодератор
Отправлено: 26 Ноября, 2008 - 08:44:38
Post Id



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


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


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




Джур, объяснение мне понравилось)) Всё четко и просто!
 
 Top
ALEN
Отправлено: 26 Ноября, 2008 - 09:43:56
Post Id



Участник


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


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




Champion
Сказал бы, что нужно этот пример на первую страницу в ООП вписать, а то я в свое время долго пробегал, чтоб понять это. Я думаю еще большенство так бегает.
 
 Top
NOBEL
Отправлено: 26 Ноября, 2008 - 12:28:37
Post Id



Частый гость


Покинул форум
Сообщений всего: 146
Дата рег-ции: Май 2008  
Откуда: Сутки до японии, неделя до Москвы


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




Кажись я всё понял.
Повоюем!

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


-----
купил камаз и не жалею,...
никого не жалею!!!
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB