codemotion (codemotion) wrote,
codemotion
codemotion

Объекты / Неделя 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» для точности ответа.

Опубликовано на сайте ДвижКод.

Tags: php, Технологии
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 4 comments