• доступно о веб-разработке
11.11.2012 PHP, Технологии

Объекты / Неделя PHP

Убежден в том, что многие хотя бы раз слышали про Объектно-Ориентированное Программирование, но не до конца осознают смысл этого выражения. Хотя на самом деле, если посмотреть внимательно, то весь смысл в нем и сокрыт. Расставим точки над «i» в материале, завершающем первую «Неделю PHP».

За прошедшую неделю мы изучили базовые  типы переменных языка веб-программирования PHP.

Есть простые типы переменных типа числовых или строковых, а есть более сложные — массивы.

Переменные хранят информацию.

Но представьте себе, что нам требуется более серьезная структура информации.

Например, мы хотим описать автомобиль.

У него есть разные свойства. Кроме того, у него есть разные функции.

Как же нам это все уместить в одно целое?

Для этого и существует Объектно-Ориентированное Программирование или далее просто ООП.

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

Пару слов о функциях.

В вашей программе часто повторяется одна и та же операция. Чтобы по сто раз не править код везде, где её нужно применить, вы превращаете её в функцию:

<?php

function sum($a,$b){
 return $a + $b;
}

echo sum(1,2); // Выведет 3

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

В скобках передаются обозначенные при определении функции аргументы.

Впрочем, обещаю посвятить функциям отдельный урок на следующей неделе PHP.

Вернемся к объектам.

Объект описывается классом. К примеру, объект «Лада Ларгус» класса «Автомобиль».

Вы задаете класс как шаблон, а после этого можете создавать из него объекты.

Вот как это выглядит:

<?php

class Auto {
    public $color;
    public $doors;
    function move($direction){
      // Тут логическая схема, куда двигаться в зависимости от полученного аргумента
    }
}

// Создаем объект из класса

$lada_largus = new Auto();
// Доступ к свойствам и методам осуществляется через -> («стрелку»)
$lada_largus->color = "black";
$lada_largus->doors = 5;
$lada_largus->move('forward');

Это простейший базовый класс.

Надеюсь, вы начинаете понимать суть ООП и все его преимущества.

В следующих уроках мы рассмотрим столь важные понятия как:

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

Пока что задание следующее — придумать свой класс и поэкспериментировать с ним.

Прочесть про три важнейших понятия до того, как я о них расскажу.

Учитесь пользоваться поиском. Можно просто вбить строчку поиска в Гугле, дописав «PHP» для точности ответа.

Поделиться

Комментарии Правила дискуссии

Читайте ранее:
Циклы / Неделя PHP

Вся наша жизнь, хотим мы того или нет, построена на циклах. Многие живут, не замечая этого. Но вот программировать, не...

Закрыть