Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебник_Final.doc
Скачиваний:
59
Добавлен:
09.11.2019
Размер:
10.39 Mб
Скачать

7.1.2. Функции работы с объектами

По своему написанию, порядку вызова и спискам аргументов функции работы с объектами практически полностью аналогичны функциям работы с классами. Для их вызова достаточно в названиях функций слово Class (класс) заменить словом Instance (объект), а в аргументах – <имя класса> на <имя объекта>.

7.1.3. Функции работы с иерархией объектов

CountAllInstances (<имя класса>); – возвращает количество всех объектов заданного класса и всех его подклассов.

CountAllSubClasses (<имя класса>); – возвращает число всех подклассов указанного класса и их подклассов.

CountInstances (<имя класса>); – возвращает число объектов указанного класса.

CountSubClasses (<имя класса>); – возвращает количество подклассов указанного класса.

ForAll (<список объектов>, <выражение>) – выполняет действие, определяемое выражением, для всех объектов, указанных в списке.

GetDepth (<имя класса>); – возвращает глубину иерархии ниже заданного класса, т.е. число уровней дочерних объектных структур (подклассов и объектов).

GetInstanceList (<имя класса>, <имя объекта> : <имя многозначного слота>); – сохраняет список имен непосредственных объектов заданного класса в заданной переменной (многозначный слот).

GetParent ({<имя объекта> ¦ <имя класса>}); – возвращает имя родительского класса указанного объекта или класса.

GetSubClassList (<имя класса>, <имя объекта> : <имя многозначного слота>); – сохраняет список имен непосредственных подклассов заданного класса в заданной переменной (многозначный слот).

HideBrowserInstances (<имя класса>); – скрывает все объекты указанного класса в окне иерархии объектов.

HideBrowserSubClasses (<имя класса>); – скрывает все подклассы указанного класса в окне иерархии объектов.

IsAKindOf? (<имя объекта>, <имя класса>); – определяет, является ли заданный объект потомком указанного класса. Возвращает true или false.

IsThereAny? (<список объектов>, <шаблон>) – просматривает все объекты данного класса и возвращает первый объект, соответствующий заданному образцу.

MoveHierarchy (<имя класса>, <имя нового родительского класса>); – переподчиняет указанный класс со всеми его подклассами и объектами другому родительскому классу.

MoveInstance (<имя объекта>, <имя нового родительского класса>); – переподчиняет указанный объект другому родительскому классу.

PrintHierarchy (<имя класса>); – распечатывает иерархию классов и объектов, начиная с указанного класса.

ShowBrowserInstances (<имя класса>); – выводит все объекты указанного класса в окно иерархии объектов.

ShowBrowserSubClasses (<имя класса>); – выводит все подклассы указанного класса в окно иерархии объектов.

WriteHierarchy (<имя класса>); – записывает иерархию классов и объектов, начиная с указанного класса, в заранее открытый ASCII-файл.

7.1.4. Функции работы со слотами

AskValue (<имя объекта>, <имя слота>); – выводит на экран окно диалога с запросом у пользователя значения однозначного слота.

Assert (<имя объекта>, <имя слота>); – добавляет пару «объект : слот» в список слотов для формирования прямой цепи рассуждений.

DeleteSlot (<имя объекта>, <имя слота>); – удаляет слот из объекта.

Explane (<имя объекта>, <имя слота>); – показывает, что побудило слот иметь текущее значение.

GetOwner (<имя объекта>, <имя слота>); – возвращает имя первого предка указанного объекта по иерархии, в котором был определен указанный слот.

GetSlotComment (<имя объекта>, <имя слота>); – возвращает строку – комментарий к указанному слоту.

GetSlotList (<имя объекта>, <имя объекта> : <имя многозначного слота>); – сохраняет список имен локальных слотов или слотов, имеющих локальные значения или опции заданного объекта, в переменной с заданным именем (многозначный слот).

GetSlotOption (<имя объекта>, <имя слота>, <имя свойства>); – возвращает значение указанного свойства слота.

GetValue (<имя объекта>, <имя слота>); – возвращает значение слота.

KnownValue? (<имя объекта>, <имя слота>); – определяет, имеет ли значение у указанный слот.

LocalValue? (<имя объекта>, <имя слота>); – определяет, является ли значение указанного слота локальным.

MakeSlot (<имя объекта>, <имя слота>, <выражение>); – создает новый слот указанного объекта и присваивает ему значение, определяемое выражением.

RenameSlot (<имя объекта>, <имя слота>, <новое имя слота>); – переименовывает существующий слот.

ResetSlotOption (<имя объекта>, <имя слота>, <имя свойства>) – присваивает значение по умолчанию выбранному свойству слота.

ResetValue (<имя объекта>, <имя слота>); – присваивает указанному слоту значение, передаваемое по наследству, а при его отсутствии – NULL.

SetSlotComment (<имя объекта>, <имя слота>, <строка>); – добавляет строку – комментарий к указанному слоту.

SetSlotOption (<имя объекта>, <имя слота>, <имя свойства>, <выражение>); – присваивает указанному свойству слота значение, определяемое выражением.

SetValue (<имя объекта>, <имя слота>, <выражение>); – присваивает указанному слоту значение, определяемое выражением.

Slot? (<имя объекта>, <имя слота>); – определяет существование указанного слота в данном объекте.

<имя объекта> : <имя слота> += <выражение>; – увеличивает значение слота на величину, определяемую выражением.

<имя объекта> : <имя слота> = <выражение>; – присваивает однозначному слоту значение, определяемое выражением.