ООП PHP
Методы объекта
Псевдопеременная $this
Метод объекта
(php.net)
Кроме свойств у объекта могут быть методы. Методы, как и свойства, помогают объектам выполнять некоторые задачи.
Методы объекта - это то, что умеет делать тот или иной объект (экземпляр класса).
Метод объекта - это функция, которая принадлежит классу.
Объявление метода
Для объявления метода используется:
- ключевое слово function с модификаторами (public, protected, private), если модификатор
не указан, то метод по умолчанию, будет публичным.
- имя метода (те же самые правила именования что и для функций в процедурном PHP),
- далее идут круглые скобки, в которых мы можем передавать какие-то аргументы,
- далее - фигурные скобки, в которых заключается тело метода.
Псевдопеременная $this
Чтобы обратиться к свойствам объекта (color, wheels, speed, brand) необходимо использовать
псевдопеременную $this (этот), то есть внутри класса, если мы хотим обратиться
к его свойству или методу, мы должны это делать через $this;
$this - это указатель на текущий объект ($this == объект этого класса).
Псевдопеременная $this указывает на объект из которого мы обращаемся к тому или иному свойству или методу.
($this->brand) <=> (объект этого класса -> свойство brand).
Оъявим метод getCarInfo() для вывода информации о созданном объекте в классе Car.
Данный метод будет возвращать (return) информацию об автомобиле (первое слово - с маленькой буквы).
Файл Car.php
-- файл Car.php --
<?php
// создание класса Car
class
{
// свойства определяем в теле класса:
// цвет - свойство класса (атрибут или поле класса)
public $color;
// количество колес - задаем: 4
public $wheels = 4;
// скорость - задаем: 180
public $speed = 180;
// марка
public $brand;
// объявление метода
public function
{
// возвращает информацию о созданном объекте (автомобиле)
return "<h3>О моем авто:</h3>
Марка: {$this->brand}<br>
Цвет: {$this->color}<br>
Кол-во колес: {$this->wheels}<br>
Скорость: {$this->speed}<br> ";
}
}
?>
Обращение к методу вне класса
В индексном файле обратимся к методу getCarInfo():
echo $car1 -> getCarInfo();.
Оператор "->" (объектный оператор) позволяет получить доступ к нестатическим свойствам или методам класса.
Файл index.php
-- файл index.php --
<?php
// включаем показ ошибок
(-1);
// подключение файла Car.php
require_once 'classes/Car.php';
// функция для удобной распечатки
function ($data)
{
echo '<pre>' . ($data, 1 ) . '</pre>';
}
// создаем экземпляр класса (объект) - (1-й автомобиль)
$car1 = new ();
// обращение к свойству объекта вне класса (определяем цвет)
// оператор "->" позволяет получить доступ к свойству или методу класса
$car1 -> color = 'черный';
$car1 -> brand = 'volvo';
// создаем объект (2-й автомобиль)
$car2 = new ();
$car2 -> color = 'белый';
$car2 -> brand = 'bmv';
// обращение к методу getCarInfo()(вывод информации о созданном объекте (автомобиле))
echo $car1-> ();
echo $car2-> ();
?>
выведет:
О моем авто:
Марка: volvo
Цвет: черный
Кол-во колес: 4
Скорость: 200
О моем авто:
Марка: bmv
Цвет: белый
Кол-во колес: 4
Скорость: 180
Содержание папки 3 ("Методы объекта"):
Наверх Наверх