Приднестровская поддержка XOOPS
Методы — это функции, специфические для класса. Отдельные операции, которые объект способен выполнять, определяются в классе в виде методов.
Например, чтобы создать методы, позволяющие устанавливать и получать значение свойства $prop1, добавьте в код строки, подсвеченные желтым фоном.
<?php
class MyClass
{
public $prop1 = "Это свойство класса!";
public function setProperty($newval)
{
$this->prop1 = $newval;
}
public function getProperty()
{
return $this->prop1 . "<br />";
}
}
$obj = new MyClass;
echo $obj->prop1;
?>
Чтобы воспользоваться методом, следует вызвать его, как обычную функцию, дополнительно сославшись на объект, которому он принадлежит. Получите значение свойства $propl класса MyClass, а затем установите и выведите новое значение этого свойства, внеся в сценарий изменения, подсвеченные желтым фоном.
<?php
class MyClass
{
public $prop1 = "Это свойство класса!";
public function setProperty($newval)
{
$this->prop1 = $newval;
}
public function getProperty()
{
return $this->prop1 . "<br />";
}
}
$obj = new MyClass;
echo $obj->getProperty(); // Получить значение свойства
$obj->setProperty("Это новое значение свойства!"); // Установить новое значение
echo $obj->getProperty(); // Вновь прочитать свойство для демонстрации изменений
?>
Перезагрузив браузер, вы получите следующий результат.
Преимущества ООП становятся очевидными, когда используются несколько экземпляров одного и того же класса. Добавьте в код еще один экземпляр miaccaMyClass и немного поэкспериментируйте с установкой и извлечением значений свойств.
<?php
class MyClass
{
public $prop1 = "Это свойство класса!";
public function setProperty($newval)
{
$this->prop1 = $newval;
}
public function getProperty()
{
return $this->prop1 . "<br />";
}
}
// Создать два объекта
$obj = new MyClass;
$obj2 = new MyClass;
// Получить значения свойства $propl для обоих объектов
echo $obj->getProperty();
echo $obj2->getProperty();
// Установить новые значения свойств для обоих объектов
$obj->setProperty("Это новое значение свойства");
$obj2->setProperty("Это свойство принадлежит второму экземпляру!");
// Вывести значения свойства $propl для обоих объектов
echo $obj->getProperty();
echo $obj2->getProperty();
?>
Перезагрузив браузер, вы получите следующий результат.
Нетрудно заметить, что ООП поддерживает объекты как независимые сущности, что облегчает разделение программы на небольшие, взаимодействующие между собой фрагменты кода.
Чтобы еще более упростить использование объектов, РНР предоставляет ряд так называемых магических методов, т.е. специальных методов, которые вызываются при выполнении некоторых типичных операций внутри объектов. Это позволяет разработчикам сравнительно легко решать множество полезных задач.
Отправитель | Нити |
---|
30 пользователь(ей) активно (12 пользователь(ей) просматривают Инструкции)
Участников: 0 Гостей: 30 далее... |