0014 - Основы Delphi. Профессиональный подход - В результате разработчик может сконцентрироваться н...

Сухарев М. В. Основы Delphi. Профессиональный подход. 2004

 Сухарев М. В. 
.  Основы Delphi. Профессиональный подход 
. 2004
. 5-94387-129-2
. Наука и Техника
. 
. Сухарев М. В.  Основы Delphi. Профессиональный подход   От издателя   Эта книга является превосходным учебным пособием, дающим наиболее полное и систе
Название: 
Основы Delphi. Профессиональный подход
Автор: 
Сухарев М. В.
Год: 
2004
Издательство: 
Наука и Техника
Описание: 

Сухарев М. В. Основы Delphi. Профессиональный подход От издателя Эта книга является превосходным учебным пособием, дающим наиболее полное и системное понимание основополагающих механизмов Delphi. Цель книги - помочь программистам, начинающим работать с Delphi, сделать первый шаг в ее изучении так, чтобы не возвращаться к пройденному материалу в дальнейшем для углубления знаний. В то же время книга будет интересна и опытным программистам, благодаря своему обобщенному изложению. Основная часть материала описывает фундаментальные основы Delphi, структуру компонентов и правила их использования.

В результате разработчик может сконцентрироваться на реализации программы, использующей списки, без подробного изу чения модуля, в котором эти списки реализованы. Методы реализации списков . Объектно ориентированное программирование в . Далее рассматри ваются некоторые из таких классов. Основы использования списков Класс . за исклю чением того, что данные, хранимые в списке, задаются нетипизирован ными указателями . Удобство использования списков типа . Таким образом, реализация класса . Основные методы, описанные в . Добавление элементов в список Для добавления элемента в список используется метод . Номера элементам выдаются по порядку от . Если существует необходимость вставить элемент в середину списка, то в программе мо жет использоваться метод . Объектно ориентированный подход к хранению информации списке. Номер последнего элемента на единицу меньше общего количе ства элементов списка, которое можно получить с помощью свойства . Отметим, что при удалении элемента из списка память, в которой хра нится информационная структура, не освобождается а ссылка на нее теряется. Таким образом, вызов метода . Аналогичным образом работает метод . Для получения указателей на данные, хранимые в первом и последнем элементах списка, используются соответственно методы . Объектно ориентированное программирование в . Управление размером списка Экземпляры класса автоматически изменяют свой размер в мо мент вызовов методов добавления и удаления элементов, таких как . Однако существует несколько аргументов в пользу более гиб кого управления размером. Список имеет две характеристики, которые определяют его размер. Количество элементов, которые могут храниться в списке при его настоящем состоянии. Первый параметр определяется свойством . При добавлении множе ства элементов в список использование свойства . Пример использования списков указателей Последовательность действий, выполняемых над списком, поясним на примере, продемонстрировав использование различных методов добавле ния и удаления элементов в списке . Объектно ориентированный подход к хранению информации Листинг Работа со списками Туре . В списке теперь содержится . Элемент, вставленный командой, сдвигается вперед и теперь имеет номер . Объектно ориентированное программирование в . Соответственно, использование переменной . Списки объектов Рассмотренные выше списки нетипизированных указателей имеют неко торые недостатки, связанные с возможными ошибками утечки памяти и нарушения доступа при обращении к разрушенным структурам данных. Более корректную работу приложения обеспечивает наследник класса . Использование списков объектов аналогично работе с экземплярами класса . Соответственно, с вызывающей программы снимается ответственность за разрушение созданных объектов, занесен ных в Необходимость такого поведения определяется значением свойства . Объектно ориентированный подход к хранению информации . Однако автоматическое разрушение хранимых объектов не всегда удоб но, и иногда требуется удалить элемент из списка, не прекращая суще ствование хранимого экземпляра класса. Для выполнения такой опера ции предусмотрен метод . Смысл создания именно такого списка заклю чается в том, что любой класс, имеющий ссьику на экземпляр компонента, имеет возможность получить уведомление о его При разрушении компонента, произведенного за пределами списка, тот элемент списка, в котором хранится этот компонент, автоматически уда ляется. В результате такого поведения список содержит только коррект ные ссылки, то есть указывающие на реально существующие в данный момент времени работы программы экземпляры классов. Иерархия классов списков Механизм уведомления рассмотрен в разделе данной книги, посвященном описанию структуры компонентов . Объектно ориентированное программирование в . Использование именно таких списков позволяет не следить за актуальностью ссылок, так как список поддержива ет ее автоматически. Списки с заданным порядком элементов. Стеки и очереди у Понятие стека и очереди Довольно распространенной задачей является организация в программе однотипных данных в некотором порядке и обеспечение последовательно го доступа к ним. Используется две разновидности порядкового доступа. Пример очереди изображен на рис. Пример стека изображен на рис. Очередь Элемент Элемент Добавление . Объектно ориентированный подход к хранению информации Возможности использования класса . Данный класс предназначен не для непосредственного использования, а для создания других классов на его основе. Свойство имеет область видимости . Также в классе не предусмотрено свойство . Таким образом, фрагменты программы, имеющие ссыл ку на экземпляр списка с заданным порядком, не могут изменить пос ледовательность элементов в этом списке, что гарантирует целостность и корректность хранимых данных. Иерархия списков последовательного доступа Стек и очередь как наследники класса . Для хранения объектов предусмотрены наследники данных классов . Объектно ориентированное программирование в . В них переопределены методы . Иерархия списков с последовательным доступом показана на рис. Коллекции Основы использования коллекций Списки указателей и объектов направлены на временное хранение дан ных, используемых в программе. Создание хранимых структур данных происходит за пределами списков, а их автоматическое разрушение воз можно только для списков объектов и компонентов . Еще одной особенностью рассмотренных нами списков является то, что они не могут быть автоматически сохранены в файле формы, что окончательно делает их непригодными для использования в визуальной разработке. О формах мы будем говорить отдельно, в одной из последних глав книги. Более приспособленным вариантом представления данных в виде спис ка является класс . Элементы коллекции явля ются наследниками класса . Объектно ориентированный подход к хранению информации . Создание и разрушение коллекций При создании коллекции конструктору в качестве параметра передается название класса наследника экземпляры которого будут храниться в качестве элементов этой коллекции.