Объект класса

Создание объекта
^класс::конструктор[параметры]

Конструктор создает объект класса, наделяя его полями и методами класса. Параметры конструкторов подробно описаны в соответствующем разделе.
Примечание: созданный объект доступен в переменной $result и его можно переопределить для возвращения другого объекта.

Вызов метода
^объект.метод[параметры]

Вызов метода класса, к которому принадлежит объект. Параметры конструкторов подробно описаны в соответствующем разделе.

Если не указан объект, то конструкция является вызовом метода текущего класса (если у класса нет метода с таким именем, будет вызван метод базового класса) или оператора. При совпадении имен вызывается оператор.

Методы бывают статические и динамические.

Динамический метод - код выполняется в контексте объекта (экземпляра класса).

Статический метод - код выполняется в контексте самого класса, то есть метод работает не с конкретным объектом класса, а со всем классом (например, классы MAIN, math, mail)


Значение поля объекта
$объект.поле

Получение значения поля объекта.


Получение полей объекта в виде хеша   [3.4.0]
$хеш[^hash::create[$объект]]

Будет создан хеш со всеми полями объекта.


Системное поле объекта: CLASS
$объект.CLASS - хранит ссылку на класс объекта.

Это необходимо при задании контекста компиляции кода (см. «process. Компиляция и исполнение строки».


Системное поле класса: CLASS_NAME   [3.2.2]
$объект.CLASS_NAME - хранит имя класса объекта.

Пример
$var[123]
$var.CLASS_NAME


Выведет 'string'.



In order to add comments you must register.
Copyright © 1997–2021 Art. Lebedev Studio | http://www.artlebedev.ru Дата обновления: 21.07.2016