Создание и использование классов в PHP
Сегодня мы научимся создавать классы в PHP и использовать их. Приведённые примеры довольно примитивны, и не несут существенной смысловой нагрузки, но позволяют понять основы ООП, что называется, на практике.
Классы объявляются с помощью директивы class:
class className
{
// описание класса
}
Свойства определяются с помощью команды var:
class className
{
var $svoistvo1;
var $svoistvo2;
}
Методы же определяются c помощью команды function
class className
{
function classMethod ($attr1, $attr2)
{
// описание метода
}
}
Для обращения к свойствам класса используется указатель $this
class className
{
var $svoistvo1;
function getSvoistvo1 ()
{
return $this->svoistvo1; // кстати, return возвращает результат работы метода
}
}
Теперь напишем простую программу, которая сделает следующее: объявит класс, создаст объект этого класса и использует методы этого класса.
Вот листинг этой программы:
<?
// для начала создадим класс
class MyClass
{
// опишем свойство $temp
var $temp;
// опишем функцию для задания извне свойства $temp
function setTemp ($text)
{
$this->temp = $text;
}
// опишем функцию для получения свойства $temp объекта
function getTemp ()
{
// если свойство задано, возвращаем его значение, если его нет, возвращаем false
if (!empty ($this->temp)) return $this->temp;
else return false;
}
}
// создадим объект заданного класса
$MyObj = new MyClass;
// попробуем использовать метод для получения свойства $temp объекта
echo $MyObj->getTemp (); // ничего не выйдет, метод вернул false
// а теперь зададим свойству $temp некоторое значение
$MyObj->setTemp (“This”);
// и попробуем заново
echo $MyObj->getTemp (); // получилось!
?>
Теперь научимся использовать конструкторы. Конструкторы — это такие методы класса, которые выполняются при создании объекта этого класса. Название метода–конструктора должно совпадать с названием класса, иначе это будет не конструктор.
Приведу листинг программы, которая наглядно показывает назначение конструкторов и их использование:
<?
// объявляем класс
class MyClass
{
// и свойство этого класса
var $temp;
// задаём конструктор
function MyClass ($text)
{
// который заносит в свойство объекта значение атрибута
$this->temp = $text;
}
// задаём метод, возвращающий значение переменной
function getTemp ()
{
return $this->temp;
}
}
// создаём объект класса с использованием конструктора и выводим значение свойства
$a = new MyClass (“test”); echo $a->getTemp ();
?>
В данном уроке мы научились объявлять классы и использовать их свойства и методы. Полученные сегодня знания ещё не раз пригодятся в дальнейшем. В следующем уроке мы задействуем такие механизмы ООП, как наследование и полиморфизм.





Добавить комментарий
Вы должны войти