Теория и практика объектно-ориентированного программирования. Ноткин А.М. - 26 стр.

UptoLike

Составители: 

27
5. Удаляется ФАКУЛЬТЕТ в обратном порядке.
6. Метод-итератор и класс выбирается на основе контрольной рабо-
ты 1.
Например, для класса TStudentGroup может быть предложен итера-
тор
Procedure TStudentGroup.ForEach(action:pointer;parametr:real);
где action указатель на процедуру или функцию, которая должна быть
выполнена для всех объектов, включенных в группу (в данном случае для
всех
СТУДЕНТОВ), parametr передаваемая процедуре дополнительная
информация.
В качестве передаваемой методу функции может быть предложена,
например, такая: “Вывести список студентов, имеющих рейтинг не ниже
заданного”:
Procedure MyProc(p:PObject,rate:real);far;
Begin
if PStudent(p)^.GetRating>=rate then writeln(PStudent(p)^.GetName);
End;
Если pg указатель на объект TStudentGroup, то вызов итератора бу-
дет иметь следующий вид:
pg^.ForEach(@MyProc,45); {список студентов, чей рейтинг выше 45}
7. Определение классов
(объектных типов), процедур и функций по-
местить в модуль L02UXXX, где XXX- аббревиатура фамилии, имени и от-
чества, например, Иванов Петр Григорьевич IPG.
8. Демонстрационную программу поместить в файл L02XXX.PAS.
Содержание отчета.
1. Титульный лист.
2. Постановка задачи.
3. Иерархия классов.
4. Иерархия объектов.
5. Определение классов (добавленных или измененных по сравнению
с лабораторной работой 2).
6. Реализация для одного не абстрактного класса-группы всех мето-
дов.
7. Реализация итератора.
8. Реализация передаваемой итератору процедуры или функции.
9. Листинг демонстрационной программы.
                                   27

      5. Удаляется ФАКУЛЬТЕТ в обратном порядке.
      6. Метод-итератор и класс выбирается на основе контрольной рабо-
ты № 1.
      Например, для класса TStudentGroup может быть предложен итера-
тор
      Procedure TStudentGroup.ForEach(action:pointer;parametr:real);
где action − указатель на процедуру или функцию, которая должна быть
выполнена для всех объектов, включенных в группу (в данном случае для
всех СТУДЕНТОВ), parametr − передаваемая процедуре дополнительная
информация.
      В качестве передаваемой методу функции может быть предложена,
например, такая: “Вывести список студентов, имеющих рейтинг не ниже
заданного”:
      Procedure MyProc(p:PObject,rate:real);far;
      Begin
      if PStudent(p)^.GetRating>=rate then writeln(PStudent(p)^.GetName);
      End;
      Если pg − указатель на объект TStudentGroup, то вызов итератора бу-
дет иметь следующий вид:
      pg^.ForEach(@MyProc,45); {список студентов, чей рейтинг выше 45}
      7. Определение классов (объектных типов), процедур и функций по-
местить в модуль L02UXXX, где XXX- аббревиатура фамилии, имени и от-
чества, например, Иванов Петр Григорьевич − IPG.
      8. Демонстрационную программу поместить в файл L02XXX.PAS.

      Содержание отчета.
      1. Титульный лист.
      2. Постановка задачи.
      3. Иерархия классов.
      4. Иерархия объектов.
      5. Определение классов (добавленных или измененных по сравнению
с лабораторной работой № 2).
      6. Реализация для одного не абстрактного класса-группы всех мето-
дов.
      7. Реализация итератора.
      8. Реализация передаваемой итератору процедуры или функции.
      9. Листинг демонстрационной программы.