Объект класса
Создание объекта
^класс::конструктор[параметры]
Конструктор создает объект класса, наделяя его полями и методами класса. Параметры конструкторов подробно описаны в соответствующем разделе.
Примечание: результат работы конструктора - созданный объект, обычный результат работы метода игнорируется (никуда не попадает).
Вызов метода
^объект.метод[параметры]
Вызов метода класса, к которому принадлежит объект. Параметры конструкторов подробно описаны в соответствующем разделе.
Если не указан объект, то конструкция является вызовом метода текущего класса (если у класса нет метода с таким именем, будет вызван метод базового класса) или оператора. При совпадении имен вызывается оператор.
Методы бывают статические и динамические.
Динамический метод - код выполняется в контексте объекта (экземпляра класса).
Статический метод - код выполняется в контексте самого класса, то есть метод работает не с конкретным объектом класса, а со всем классом (например, классы MAIN, math, mail)
Значение поля объекта
$объект.поле
Получение значения поля объекта.
Получение полей объекта в виде хеша [3.4.0]$хеш[^hash::create[$объект]]
Будет создан хеш со всеми полями объекта.
Системное поле объекта: CLASS
$объект.CLASS - хранит ссылку на класс объекта.
Это необходимо при задании контекста компиляции кода (см. «process. Компиляция и исполнение строки».
Системное поле класса: CLASS_NAME $объект.CLASS_NAME - хранит имя класса объекта.
Пример
$var[123]
$var.CLASS_NAME
Выведет 'string'.