ВУЗ:
Составители:
Рубрика:
68
где Show − виртуальный метод просмотра объектов классов, производных
от PPerson.
Если коллекция содержит объекты одного класса, например,
TStudent, то просмотреть её можно следующим образом:
for k : =0 to Persons ^ . count - 1 do
(PStudent ( Persons^ . At ( k ) ) ) ^ . Show;
• Итерационные методы. Коллекции имеют три итерационных
метода.
• Итератор ForEach.
Procedure ForEach (Action : pointer );
Применяет действие, определённое процедурой, на которую указывает
action, для каждого элемента коллекции.
Используя ForEach, коллекцию можно
просмотреть следующим об-
разом:
Procedure ViewCollection (p : PCollection);
Procedure View (p : PPerson) ; far;
begin
p^ . Show
end;
Begin
p^ . ForEach( @View );
End;
• Итератор FirstThat.
Function FirstThat (Test : pointer) : pointer;
Применяет логическую функцию, заданную указателем Test, к каждому
элементу коллекции до тех пор, пока Test, возвращает False. Результат −
указатель на элемент, для которого Test возвращает True, или nil, если та-
кого элемента нет. Коллекция просматривается от начала к концу.
• Итератор LastThat.
Function LastThat (Test:pointer):pointer;
То же,
что и FirstThat, но коллекция просматривается от конца к началу.
• Поиск в коллекции. Для поиска требуемого элемента в кол-
лекции можно использовать итератор FirstThat или LastThat, в который пе-
редаётся функция, возвращающая True, если удовлетворено условие по-
иска.
Например, требуется найти в коллекции, представляющей собой те-
лефонный справочник, абонента по его имени.
Function Find (p : PCollection , name:string35) : PPhone;
68
где Show − виртуальный метод просмотра объектов классов, производных
от PPerson.
Если коллекция содержит объекты одного класса, например,
TStudent, то просмотреть её можно следующим образом:
for k : =0 to Persons ^ . count - 1 do
(PStudent ( Persons^ . At ( k ) ) ) ^ . Show;
• Итерационные методы. Коллекции имеют три итерационных
метода.
• Итератор ForEach.
Procedure ForEach (Action : pointer );
Применяет действие, определённое процедурой, на которую указывает
action, для каждого элемента коллекции.
Используя ForEach, коллекцию можно просмотреть следующим об-
разом:
Procedure ViewCollection (p : PCollection);
Procedure View (p : PPerson) ; far;
begin
p^ . Show
end;
Begin
p^ . ForEach( @View );
End;
• Итератор FirstThat.
Function FirstThat (Test : pointer) : pointer;
Применяет логическую функцию, заданную указателем Test, к каждому
элементу коллекции до тех пор, пока Test, возвращает False. Результат −
указатель на элемент, для которого Test возвращает True, или nil, если та-
кого элемента нет. Коллекция просматривается от начала к концу.
• Итератор LastThat.
Function LastThat (Test:pointer):pointer;
То же, что и FirstThat, но коллекция просматривается от конца к началу.
• Поиск в коллекции. Для поиска требуемого элемента в кол-
лекции можно использовать итератор FirstThat или LastThat, в который пе-
редаётся функция, возвращающая True, если удовлетворено условие по-
иска.
Например, требуется найти в коллекции, представляющей собой те-
лефонный справочник, абонента по его имени.
Function Find (p : PCollection , name:string35) : PPhone;
Страницы
- « первая
- ‹ предыдущая
- …
- 65
- 66
- 67
- 68
- 69
- …
- следующая ›
- последняя »
