Компиляция и выполнение проекта.
Проект может быть откомпилирован в файл EXE или DLL – динамически загружаемую библиотеку. Компиляция выполняется по команде Project/Compile или <Ctrl>+<F9>. При компиляции выполняются действия:
– компилируются те файлы, которые изменялись, они сохраняются в файлах с расширением DCU;
– перекомпилируются все другие файлы, которые через USES обращались к измененным файлам;
– перекомпилируются файлы, использующие измененные объектные файлы obj, подключаемые файлы inc;
– после перекомпиляции всех модулей проекта компилируется файл проекта и создается исполняемый файл приложения.
Кроме компиляции модулей происходит компоновка проекта Project/Build – компилируются заново все файлы проекта.
Выполнение проекта происходит по команде Run/Run или <F9>.
Реализация принципов объектно-ориентированного
Программирования в Delphi
Принципы объектно-ориентированного программирования реализуются в Delphi с помощью классов.
Классамив Delphi называются специальные типы, которые содержат поля, методы и свойства. Как и любой другой тип, класс служит лишь образцом для создания конкретных экземпляров реализации, которые называются объектами.
Классы — это особое «изобретение» программистов для упрощения разработки сложных программ и улучшения их качества. В основе классов лежат три фундаментальных принципа, которые называются инкапсуляция, наследованиеи поли-морфизм.
Инкапсуляция.
Класс представляет собой единство трех сущностей – полей, методов и свойств, Объединение этих сущностей в единое целое и называется инкапсуляцией. Инкапсуляция позволяет во многом изолировать класс от остальных частей програмы, сделать его «самодостаточным» для решения конкретной задачи. В результате класс всегда несет в себе некоторую функциональность. Например, класс TForm содержит (инкапсулирует в себе) все необходимое для создания окна Windows-программы, класс TMemo представляет собой полнофункциональный многострочный текстовый редактор, класс TTimer обеспечивает работу программы с таймером и т. д.
Инкапсуляция является мощным средством обмена готовыми к работе программными заготовками. Библиотека классов Delphi – это, фактически, набор «деталей», созданных программистами Borland для построения программ.
Наследование.
Любой класс может быть порожден от другого класса. Для этого при его объявленииуказывается имя класса-родителя:
TChildClass = class (TParentClass)
Порожденный класс автоматически наследует поля, методы и свойства своего родителя и может добавлять новые. Таким образом, принцип наследования обеспечивает поэтапное создание сложных классов и разработку собственных библиотек классов.
Все классы Delphi порождены от единственного родителя – класса TObject. Этот класс не имеет полей и свойств, но включает в себя методы самого общего значения, обеспечивающие весь жизненный цикл любых объектов – от создания до уничтожения. Программист не может создать класс, который не был бы дочерним классом TObject. Следующие два объявления идентичны:
TaClass = class (TObject)
TaClass = class
Принцип наследования приводит к созданию ветвящегося дерева классов, постепенно разрастающегося при перемещении от класса TObject к его потомкам, Каждый потомок дополняет возможности своего родителя новыми и передает их своим потомкам. В отличие от С++, дочерний класс не может иметь два и более родительских классов, то есть в Delphi запрещено множественное наследование.
Полиморфизм.
Полиморфизм — это свойство классов решать схожие по смыслу проблемы разными способами. В рамках Delphi поведенческие свойства класса определяются набором входящих в него методов. Изменяя алгоритм того или иного метода в потомках класса, программист может придавать этим потомкам отсутствующие у родителя специфические свойства. Для изменения метода необходимо перекрытьего в потомке, то есть объявить в потомке одноименный метод и реализовать в нем нужные действия. В результате в объекте-родителе и объекте-потомке будут действовать два одноименныхметода, имеющие разную алгоритмическую основу и, следовательно, придающие объектам разные свойства. Это и называется полиморфизмом объектов.
Дата добавления: 2017-01-29; просмотров: 1256;