Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » класы в ПХП

Ответить
Настройки темы
класы в ПХП

Пользователь


Сообщения: 91
Благодарности: 2

Профиль | Отправить PM | Цитировать


Подскажите пожалуйста.
Не как не могу разобраться с чем едят эти КЛАСЫ. Не могу найти им пременение. Зачем они нужны?

Отправлено: 18:50, 07-06-2008

 

Аватара для Coutty

Кот Ти


Сообщения: 7318
Благодарности: 1204

Профиль | Отправить PM | Цитировать


Для начала почитайте это: http://ru.wikipedia.org/wiki/Объектн...ограммирование
А потом можно пройти тест из этой темы.

И вообще, есть правило - "Не знаешь, зачем что-либо нужно - не используй".
Это сообщение посчитали полезным следующие участники:

Отправлено: 19:07, 07-06-2008 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Пользователь


Сообщения: 91
Благодарности: 2

Профиль | Отправить PM | Цитировать


ну как это не используй... . Я знаю другое правило, не знаешь что либо, спроси и научись. И пользуйся в свое удовольствие!

Отправлено: 20:13, 07-06-2008 | #3


Аватара для Coutty

Кот Ти


Сообщения: 7318
Благодарности: 1204

Профиль | Отправить PM | Цитировать


В общем, раз есть тяга к знаниям попробую вкратце пояснить.

Пока программки маленькие - классы лучше не использовать. Мороки больше. А потом уже начинают помогать. Например, пишешь игру... ммм... какую бы придумать-то... да пофиг, пусть будет PacMan (я сейчас не о PHP говорю, а об ООП в целом и классах в частности). Есть там всякие зверушки. В целом, они представляют собой один класс "Зверушки". Каждый из них обладает свойствами "Размер", "Цвет", "Тип", "Скорость" (и др.) и методами "Отрисовка зверушки", "Движение" (ещё что-то придумать можно, но для простоты ограничимся этим).
Описываешь этот класс однажды, а потом нужное количество раз создаёшь объекты-зверушки, указывая при инициализации нужные свойства. В результате имеется несколько объектов с однотипными методами. И в функции, срабатывающей по таймеру каждые, скажем, 40 мс, вызываешь метод "Отрисовка".

Примерчик на псевдокоде (этот псевдокод ближе к JavaScript'у, т.ч. не надо вдаваться в детали):

Код: Выделить весь код
класс Зверушка (тип, цвет, размер, скорость) {
// сначала инициализация
this.тип = тип;
this.цвет = цвет;
this.размер = размер;
this.скорость = скорость;
this.положение_х = 0;
this.положение_y = 0;

// метод "Движение" будет описывать способ движения зверушки. В данном случае - по достижению конца строки переходит на новую строку, но придумывать можно что угодно, конечно
this.движение = функция() {
  this.положение_х += this.скорость;
  если (this.положение_х > 10)
     {
     this.положение_y++;
     this.положение_x = 0;
     }
}

this.отрисовка = функция() {
  разные_функции_отрисовки(); // в зависимости от указанного типа, цвета и размера
  this.движение(); // после отрисовки кадра нужно передвигаться дальше
}
} // конец описания класса


функция инициализации() {
  a = new Зверушка("хрен", "зелёный", "10см", "1 клетка за кадр");
  b = new Зверушка("слон", "розовый", "8 см", "0,5 клетки за кадр");
  c = new Зверушка("кот", "чёрный", "13 см", "2 клетки за кадр");

  window.setInterval("draw()", 40); // ну это чисто из JavaScript'а - каждые 40 мс вызывать функцию draw();
}


функция draw() {
  a.отрисовка();  // вызываем функцию отрисовки для первого объекта
  b.отрисовка();
  c.отрисовка();
 // вообще, я бы поместил однотипные объекты в массив, но не суть.
}
В общем, вот. Один раз описываешь класс со всеми его свойствами и методами, а потом просто создаёшь объекты и вызовом простых методов управляешь ими.
Можно, конечно, обойтись и обычным подходом - насоздавать функций, отвечающих за движение, за отрисовку, кучу переменных-массивов, но в них легко запутаться. ООП всё это упорядочивает.

Псц, объяснил...

Вот ещё можно почитать теории объектно-ориентированного программирования:
http://www.intuit.ru/department/se/tppobj/
http://www.intuit.ru/department/se/oopbases/
Это сообщение посчитали полезным следующие участники:

Отправлено: 21:04, 07-06-2008 | #4


Аватара для ][alter

Старожил


Сообщения: 195
Благодарности: 15

Профиль | Сайт | Отправить PM | Цитировать


http://phpclub.ru/detail/article/oop-vs-proc
http://phpclub.ru/detail/article/intro_php5
http://vingrad.ru/PHP-ART-002848

-------
Если хочешь научиться плавать, прыгай в воду. Находясь на суше, никакой умонастрой тебе не поможет.


Отправлено: 14:37, 08-06-2008 | #5



Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » класы в ПХП

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
GD2на пхп demorian Вебмастеру 9 27-03-2008 15:53
Прблема с пхп. DTF Вебмастеру 4 20-10-2004 09:11
Рекурсия в ПХП Vlad Drakula Вебмастеру 5 17-09-2004 20:31
ПХП RomZes Вебмастеру 4 01-08-2003 23:17
установка ПХП gurWin Вебмастеру 2 26-08-2002 14:24




 
Переход