Управление доступом с помощью модификаторов. Вызов операций класса

В РНР5 введены модификаторы доступа, которые управляют видимостью атрибутов и методов. Модификатор доступа указывается перед объявлением атрибута или метода. РНР5 поддерживает следующие три различных модификаторов доступа:

Рассмотрим пример:

class classname

{

public $attribute;

public function __get($name)

{

return $this -> $name;

}

public function __set ($name, $value)

{

$this _> $name = $value;

}

}

Сейчас каждый ключевой элемент класса предварен соответствующим модификатором доступа. Ключевые слова public можно не указывать, поскольку этот модификатор присутствует по умолчанию, однако, если в коде присутствуют и другие модификаторы доступа, то указание public может упростить чтение всего кода.

Обратите внимание на отсутствие ключевого слова var, которое просто заменено модификатором public. В данном примере все элементы были сделаны общедоступными.

Вызов операций класса

Операции класса можно вызвать в основном темже способом, каким вызываются атрибуты класса. Если в нашем распоряжении имеется следующий класс:

class classname

{

function operation1()

{

}function operation2($param1, $param2)

{

}

}

и мы создаем объект типа classname с именем $a следующим образом:

$a = new classname ();

то мы можем вызвать операции так же, как вызывали другие функции: используя их имя и указывая в круглых скобках любые требуемые ими параметры. Поскольку эти операции принадлежат объекту, а не являются обычными функциями, необходимо указать объект, к которому они относятся. Имя объекта используется так же, как атрибуты объекта, а именно:

$a -> operation1();

$a -> operation2(12, 'test');

Если операции что-то возвращают, то возвращаемые данные можно получить следующим образом:

$x = $a -> operation1();

$y = $a -> operation2(12, 'test');

назадвверхвперед
Rambler's Top100