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

UptoLike

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

67
Это абстрактный метод, который должен быть перекрыт во всех по-
рождённых типах. Он сравнивает два ключа key1 и key2 и возвращает:
-1, если key1^ < key2^
0, если key1^ = key2^
1, если key1^ > key2^
В этом случае коллекции сортируются по возрастанию ключей. Key1
и Key2 это значения указателей, извлечённых из коллекции методом
KeyOf.
Удаление элементов из коллекции. Элемент из коллекции
можно
удалить с помощью следующих методов:
Procedure Delete (item : pointer); удаляет элемент item из коллекции.
Procedure AtDelete (index : integer); удаляет элемент в позиции index.
Procedure DeleteAll; удаляет из коллекции все элементы, устанавливая
count в 0.
Все эти методы удаляют элементы только из коллекции, не освобо-
ждая занимаемую ими память. Следующие методы освобождают память,
занимаемую элементами коллекции:
Procedure FreeItem (item : pointer); virtual; освобождает item, вызывая if
item <> nil then Dispose(PObject ( item ), Done );
Сам item из коллекции
не удаляется. Если требуется удалить и item, то необходимо вызвать
Procedure Free (item:pointer); эквивалентно FreeItem (item); Delete (item );
Procedure AtFree (index : integer ); удаляет из коллекции элемент в пози-
ции index и освобождает выделенную память.
Procedure FreeAll; удаляет и освобождает все элементы коллекции.
Просмотр коллекции. Метод Function At (index : integer) :
pointer; возвращает указатель на элемент с индексом index в коллекции.
Этот метод позволяет
интерпретировать коллекцию как индексированный
массив.
Поле count : integer; возвращает текущее число элементов в коллек-
ции. Если коллекция содержит объекты клсссов, производных от TPerson,
то просмотреть ее можно следующим образом:
for k : = 0 to Persons^ . count - 1 do
View (Persons ^. At ( k ) );
где View внешняя процедура вида
Procedure View (P : PPerson )
begin
P^ . Show;
end;
                                     67

      Это абстрактный метод, который должен быть перекрыт во всех по-
рождённых типах. Он сравнивает два ключа key1 и key2 и возвращает:
      -1, если key1^ < key2^
       0, если key1^ = key2^
       1, если key1^ > key2^
      В этом случае коллекции сортируются по возрастанию ключей. Key1
и Key2 − это значения указателей, извлечённых из коллекции методом
KeyOf.
      •      Удаление элементов из коллекции. Элемент из коллекции
можно удалить с помощью следующих методов:
• Procedure Delete (item : pointer); удаляет элемент item из коллекции.
• Procedure AtDelete (index : integer); удаляет элемент в позиции index.
• Procedure DeleteAll; удаляет из коллекции все элементы, устанавливая
   count в 0.
      Все эти методы удаляют элементы только из коллекции, не освобо-
ждая занимаемую ими память. Следующие методы освобождают память,
занимаемую элементами коллекции:
• Procedure FreeItem (item : pointer); virtual; освобождает item, вызывая if
   item <> nil then Dispose(PObject ( item ), Done ); Сам item из коллекции
   не удаляется. Если требуется удалить и item, то необходимо вызвать
• Procedure Free (item:pointer); эквивалентно FreeItem (item); Delete (item );
• Procedure AtFree (index : integer ); удаляет из коллекции элемент в пози-
   ции index и освобождает выделенную память.
• Procedure FreeAll; удаляет и освобождает все элементы коллекции.

       •    Просмотр коллекции. Метод Function At (index : integer) :
pointer; возвращает указатель на элемент с индексом index в коллекции.
Этот метод позволяет интерпретировать коллекцию как индексированный
массив.
       Поле count : integer; возвращает текущее число элементов в коллек-
ции. Если коллекция содержит объекты клсссов, производных от TPerson,
то просмотреть ее можно следующим образом:
               for k : = 0 to Persons^ . count - 1 do
               View (Persons ^. At ( k ) );
где View − внешняя процедура вида
               Procedure View (P : PPerson )
               begin
                      P^ . Show;
               end;