Вызов компонента

Вызов компонента

Отмеченная звездочками инструкция

p1.translate (4.0, -1.5)

заслуживает внимательного изучения, поскольку представляет собой первый пример использования базового механизма ОО-вычислений (basic mechanism of object-oriented computation). Это обращение к компоненту или вызов компонента (feature call). В процессе выполнения кода ОО-системы все вычисления реализуются путем вызова соответствующих компонентов определенных объектов.

Приведенный конкретный пример означает вызов компонента translate класса POINT применительно к объекту p1 с аргументами 4.0 и -1.5, соответствующими a и b в объявлении translate в указанном классе. В общем случае допустимы две основные формы записи вызова компонента.

x.f

x.f (u, v, ...)

Здесь x называется целью (target) вызова и может быть сущностью или выражением, которые во время выполнения присоединены к конкретному объекту. Цель x, как любая сущность или выражение, имеет определенный тип, заданный классом C, следовательно, f должен быть одним из компонентов класса C. Точнее говоря, в первом случае f должен быть атрибутом или подпрограммой без аргументов, а во втором - подпрограммой с аргументами. Значения u, v, ... называются фактическими аргументами (actual arguments) вызова и они должны быть выражениями, число и тип которых должны в точности соответствовать числу и типу формальных аргументов (formal arguments) объявленных для f в классе C.

Кроме того, компонент f должен быть доступен (экспортирован) клиенту, содержащему данный вызов. Ограничению прав доступа посвящен следующий раздел (см. лекция 7), пока по умолчанию все компоненты доступны всем клиентам.

Результат рассмотренного выше вызова во время выполнения определяется следующим образом:

Эффект вызова компонента f для цели x

Применить компонент f к объекту, присоединенному к x, после инициализации всех формальных аргументов f (если таковые предусмотрены) значениями соответствующих фактических аргументов.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг:

Тестирование запросов с помощью компонента Server Explorer

Из книги автора

Тестирование запросов с помощью компонента Server Explorer Компонент Server Explorer среды Visual Studio .NET — это полезный инструмент для опробования концепций, описанных в этой главе. С помощью перечисленных ниже действий создайте тестовое представление данных в окне компонента Server


Создание подключаемого компонента в C#

Из книги автора

Создание подключаемого компонента в C# Теперь нужно создать тип, реализующий интерфейс IAppFunctionality. Снова, чтобы сосредоточиться на процессе создания расширяемого приложения, здесь предполагается создание самого простого типа. Мы построим библиотеку программного кода C# с


Установка атрибутов –=Только для чтения=– у столбцов компонента StringGrid

Из книги автора

Установка атрибутов –=Только для чтения=– у столбцов компонента StringGrid Манипулирование вышеуказанным атрибутом возможно в обработчике события OnSelectCell:if Col mod 2 = 0 then grd.Options:= grd.Options + [goEditing]else grd.Options:= grd.Options –


Получение индекса компонента в списке родителя

Из книги автора

Получение индекса компонента в списке родителя Мне необходимо найти индекс компонента в родительском списке дочерних элементов управления. Я попытался модифицировать prjexp.dll, но без успеха. У кого-нибудь есть идеи?Есть такая функция. Ищет родителя заданного компонента,


5.2. Использование компонента MediaPlayer

Из книги автора

5.2. Использование компонента MediaPlayer Мультимедийный проигрыватель Media Player является многофункциональным управляющим элементом. Он представляет программисту набор свойств и методов, позволяющих манипулировать файлами и устройствами мультимедиа, поддерживать


Эффективизация компонента

Из книги автора

Эффективизация компонента В некоторых собственных потомках класса FIGURE потребуется заменить отложенную версию эффективной. Например,class POLYGON inheritCLOSED_FIGUREfeaturerotate (center: POINT; angle: REAL) is-- Повернуть на угол angle вокруг точки center.do... Команды для поворота всех вершин ...end...endЗаметим,


7.1. Настройка компонента Персонализация

Из книги автора

7.1. Настройка компонента Персонализация Понятие «персонализация» – новое в Windows Vista, однако оно базируется на прежних. Механизм Персонализация представляет собой набор уже известных компонентов, с помощью которых можно настраивать оформление окон и их элементов,