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 :: ООП, с чем его курить?
Покинул форум
Сообщений всего: 146
Дата рег-ции: Май 2008 Откуда: Сутки до японии, неделя до Москвы
Помог: 0 раз(а)
Прочитал несколько учебников по php, впринципе знаю много, некоторые функции конечно подглядываю в справочник, но основы усвоил железно.
НО!!!!!!!!
Не могу понять куда фтыкать присловутый ООП!
Какие удобства от него? Всё решаемо с помощью function.
----- купил камаз и не жалею,...
никого не жалею!!!
Champion
Отправлено: 24 Ноября, 2008 - 12:47:01
Активный участник
Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008 Откуда: Москва
Помог: 57 раз(а)
ООП, и не только в php нужен для следуюущих целей.
Можно конечно всё реализовать отдельными переменными и функциями, но:
1-Просто удобнее собрать их в один объект.
2-Инкапсуляция и сокрытие некоторых данных и методов. Чтобы данные объекта менять только через интерфейсы, а не напрямую. Это и от ошибок убережет и от безопасности.
3-Наследование
4-что-то больше особо не вспоминается (Добавление)
А втыкать его туда, где есть необходимость в выше перечисленном (Добавление)
Кстати,
NOBEL пишет:
Всё решаемо с помощью function.
Тогда уж зачем function? Все решаемо переписыванием кода!
NOBEL
Отправлено: 24 Ноября, 2008 - 12:51:51
Частый гость
Покинул форум
Сообщений всего: 146
Дата рег-ции: Май 2008 Откуда: Сутки до японии, неделя до Москвы
Помог: 0 раз(а)
Champion пишет:
1-Просто удобнее собрать их в один объект.
2-Инкапсуляция и сокрытие некоторых данных и методов.
Вполне неплохо решаемо с помощью функций, сама метода даже более понятна.
Champion пишет:
3-Наследование
Не подскажите пример использлвания? А то может мне это очень надо, а я это не пользую.
----- купил камаз и не жалею,...
никого не жалею!!!
Champion
Отправлено: 24 Ноября, 2008 - 13:05:08
Активный участник
Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008 Откуда: Москва
Помог: 57 раз(а)
Примеров использования полно в мануалах. вот http://www.php.su/learnphp/phpoo/?ci
Пример надобности, думаю, не нужен. Раз пишите, что нужно, значит знаете для чего
EuGen
Отправлено: 24 Ноября, 2008 - 13:11:21
Профессионал
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
Инкапсуляция
Полиморфизм
Наследование
___
Когда Вы поймете, для чего это все нужно, то и сможете определить, в какой ситуации предпочтительнее использовать ООП, а когда можно ограничиться написанием простой функции.
ООП - не панацея. Это - лишь метод, прием и подход к программированию. Но современные системы становятся настолько сложны, что зачастую без этого не обойтись.
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
NOBEL
Отправлено: 24 Ноября, 2008 - 13:11:57
Частый гость
Покинул форум
Сообщений всего: 146
Дата рег-ции: Май 2008 Откуда: Сутки до японии, неделя до Москвы
Помог: 0 раз(а)
Вроде не тупой, но непойму, НАФИК они нужны?
Все примеры как-то слишком отдалены от практики, что с помощью методов и классов можно сделать?
----- купил камаз и не жалею,...
никого не жалею!!!
Champion
Отправлено: 24 Ноября, 2008 - 13:18:20
Активный участник
Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008 Откуда: Москва
Помог: 57 раз(а)
ну это трудно просто словами взять да объяснить.
Вы же понимаете для чего нужны функции. Ведь можно же просто скопировать код, поменять в нем несколько значений...
Вот и с ООП примерно так. +читайте всё выше написанное.
NOBEL
Отправлено: 24 Ноября, 2008 - 13:32:39
Частый гость
Покинул форум
Сообщений всего: 146
Дата рег-ции: Май 2008 Откуда: Сутки до японии, неделя до Москвы
Помог: 0 раз(а)
Мля, моск вскипел.
Я понимаю как это всё работает, понимаю какие удобства появляются,
но не пойму, что можно улучшить с их помощью!
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
Гость
Отправлено: 24 Ноября, 2008 - 16:52:27
УДАЛЁН
Я думаю поможет чтеие исхрдников всяких CMSок, не знаю даже, почитайте исходники E107, там вроде ООП было
И посмотрите преимущества на примере него
Champion
Отправлено: 25 Ноября, 2008 - 09:38:20
Активный участник
Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008 Откуда: Москва
Помог: 57 раз(а)
JustUserR пишет:
И посмотрите преимущества на примере него
. Я бы даже сказал "Попробуйте переписать это на функциях". И увидите, чем ООП лучше
Джур
Отправлено: 26 Ноября, 2008 - 06:03:49
Посетитель
Покинул форум
Сообщений всего: 423
Дата рег-ции: Март 2007
Помог: 0 раз(а)
NOBEL пишет:
но не пойму, что можно улучшить с их помощью!
Ну насамом деле вы частично правы... Без классов прожить можно и иногда от них пользы, как от козла молока. Но кое где они полезны.
Представте что вам надо работать с персонажами в вашем приложении.
1. координата содержит как минимум X,У,Z определенные правила их поведения и ограничения.
2. так-же это может быть номер скина и такие параметры как "оружие, патроны, усталость"
тоесть вы создаете экземпляр класса, выставляете ему параметры и работаете уже с персонажем а не со слойкой данных.
Представте что бота убили, тогда надо правильно удалить его. если это в виде слойки данных, то надо быть аккуратным.
а для экземпляра класса просто unset($bot[12]); и деструктор сделает все те мелочи которые необходимы.
Наследование... Представте что вы две недели писали класс "фашистов"... и тут вбегает директор и "в темпе" требует чтобы вы сделали еще и союзников и гражданских...
вы белете класс "фашистов", наследуете его свойства в "союзники" заменяя желание убить вас, на желание убивать фрицев... Удобно.
Правда тут можно накосячить и тогда "гражданские" будут бегать со шмайсерами и стрелять во всех подряд.
Как видите, классы полезны, но за бездумное их использование надо закармливать печенюшками насмерть. вот.
----- Тамбовский каджит тебе товарищ
Champion
Отправлено: 26 Ноября, 2008 - 08:44:38
Активный участник
Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008 Откуда: Москва
Помог: 57 раз(а)
Джур, объяснение мне понравилось)) Всё четко и просто!
ALEN
Отправлено: 26 Ноября, 2008 - 09:43:56
Участник
Покинул форум
Сообщений всего: 1459
Дата рег-ции: Авг. 2008 Откуда: Крым
Помог: 11 раз(а)
Champion
Сказал бы, что нужно этот пример на первую страницу в ООП вписать, а то я в свое время долго пробегал, чтоб понять это. Я думаю еще большенство так бегает.
NOBEL
Отправлено: 26 Ноября, 2008 - 12:28:37
Частый гость
Покинул форум
Сообщений всего: 146
Дата рег-ции: Май 2008 Откуда: Сутки до японии, неделя до Москвы
Помог: 0 раз(а)
Кажись я всё понял.
Фсем спасибо!!!!!!!!!!!!!!!!!!!
----- купил камаз и не жалею,...
никого не жалею!!!
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.