Классы и объекты в PHP

Friday, 15 January 2010 | Автор: programmer

Класс и объект -  это базовые понятия объектно-ориентированного программирования (ООП). Объект (object) – это структурированная переменная, которая содержит всю информацию о реализуемом в программе понятии. Класс (class) – это описание таких объектов и действий, которые можно с ними выполнять.

 

В PHP синтаксис класса определяется следующим образом:

class имя_класса {
   var $имя_свойства1;
   var $имя_свойства2="значение свойства";

   ...

   var $имя_свойстваN;


  function имя_метода1 ($параметр1, параметр2, ..., параметрN) {
    [код метода]
  }
}

 

Т.о. имена свойств класса определяются внутри класса с помощью ключевого слова var. Далее идет наименование свойства. Если определенному свойству необходимо присвоить значение по умолчанию при создании объекта, то значение описывается через "=" после имени свойства. Методы, применимые к объектам данного класса, описываются функциями. Доступ к свойствам и методам внутри класса осуществляется с помощью переменной $this.

 

Для примера создадим класс, описывающий человека.

class Human {

  var name;

  var city;

  var age;

 

  function setData($name, $age, $city) {

    $this->name = $name;

    $this->age = $age;

    $this->city = $city;

  }

 

  function getData() {

    echo "Имя: ".$this->name."<BR>";

    echo "Возраст: ".$this->age."<BR>";

    echo "Город проживания: ".$this->city."<BR>";

  }

}

 

И так, мы создали класс Human, характирезующий человека. Класс состоит из 3-х свойств: имя, возраст и город проживания. Также в классе присутствуют 2 метода, позволяющие нам записать данные о человеке в сваойства класса и затем вывести их.

 

Теперь перейдем от теории к практике. Для объявления объекта необходимо использовать оператор new. Чтобы добраться до определенного свойства класса, необходимо использовать синтаксис имя_объекта->имя_свойства или же имя_объекта->имя_метода() при обращении к методу класса.

  $data = new Human;

  $data->setData("Вася Пупкин", 25, "Москва");

  $data->getData();

 

  После выполнения на экране появится:

  Имя: Вася Пупкин

  Возраст: 25

  Город проживания: Москва

 

 


 
Tweet


Категория(и): Изучаем PHP

Комментарии


Thursday, 21 January 2010 | 21:05:02 | Автор: my
Про классы то и так понятно =) Вопрос: зачем все это?
Thursday, 21 January 2010 | 22:36:42 | Автор: programmer
мне лично лет 10 назад, когда я начинал программировать на PHP (хотя тогда еще ООП не было), зато был С++, было не понятно что такое класс и для чего он вообще нужен
Friday, 22 January 2010 | 09:30:58 | Автор: my
Приведенный выше пример не раскрывает преимущества классов перед процецедурным стилем =). Данным пример заменил бы массивами (в Си - структурами).
Friday, 22 January 2010 | 13:01:13 | Автор: programmer
на каждую размещенную статью на сайте будет продолжение статьи, тут не рассказано про полиморфизм, наследование, инкапсуляцию. Еще раз повторюсь, что изначально не даю весь материал, чтобы человек мог сам попробовать поиграться с новыми знаниями, найти какие-то особенности использования материалов.

Вот мне в первом классе преподавали метод умножения столбиком, то я бы так и использовал этот метод, но я нашел более действенный (если не считать калькулятор :))


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

А выделение неограниченной памяти под массивы в PHP будет жестко блочится настройками PHP хостинга
Saturday, 23 January 2010 | 13:20:38 | Автор: my
Ну в принципе данный метот и есть графическая "версия" умножения столбиком =)
Добавить комментарий
Чтобы оставить комментарий, Вам необходимо зарегистрироваться или авторизироваться