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


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

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

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

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

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

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

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

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


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


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


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

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


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

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


Выведет 'string'.


    Поддержать сайт на родительском проекте КГБ