Методы объекта. Псевдопеременная $this в ООП PHP

Методы объекта
Псевдопеременная $this



Метод объекта

Объявление метода

Псевдопеременная $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 Car
{
// свойства определяем в теле класса:

// цвет - свойство класса (атрибут или поле класса)
public $color;
// количество колес - задаем: 4
public $wheels = 4;
// скорость - задаем: 180
public $speed = 180;
// марка
public $brand;

// объявление метода

public function getCarInfo()
{
// возвращает информацию о созданном объекте (автомобиле)
return "<h3>О моем авто:</h3>
Марка: {$this->brand}<br>
Цвет: {$this->color}<br>
Кол-во колес: {$this->wheels}<br>
Скорость: {$this->speed}<br> ";
}
}
?>




Обращение к методу вне класса




В индексном файле обратимся к методу getCarInfo():
echo $car1 -> getCarInfo();
.

Оператор "->" (объектный оператор) позволяет получить доступ к нестатическим свойствам или методам класса.


Файл index.php


-- файл index.php --

<?php
// включаем показ ошибок
error_reporting(-1);
// подключение файла Car.php
require_once 'classes/Car.php';

// функция для удобной распечатки
function debug($data)
{
echo '<pre>' . print_r($data, 1 ) . '</pre>';
}

// создаем экземпляр класса (объект) - (1-й автомобиль)
$car1 = new Car();
// обращение к свойству объекта вне класса (определяем цвет)
// оператор "->" позволяет получить доступ к свойству или методу класса
$car1 -> color = 'черный';
$car1 -> brand = 'volvo';

// создаем объект (2-й автомобиль)
$car2 = new Car();
$car2 -> color = 'белый';
$car2 -> brand = 'bmv';

// обращение к методу getCarInfo()(вывод информации о созданном объекте (автомобиле))
echo $car1->getCarInfo();
echo $car2->getCarInfo();
?>
выведет:
О моем авто:

Марка: volvo
Цвет: черный
Кол-во колес: 4
Скорость: 200

О моем авто:

Марка: bmv
Цвет: белый
Кол-во колес: 4
Скорость: 180



Содержание папки 3 ("Методы объекта"):


03-1






Наверх Наверх