Автор работы: Пользователь скрыл имя, 11 Января 2013 в 00:09, курсовая работа
Цель курсовой работы по «Объектно-ориентированному программированию» заключается в том что бы выполнить теоретическую и практическую часть по отдельным вопросам.
1) Раскрыть понятие библиотеки классов.
2) Разработать приложение позволяющее выполнять функции файлового менеджера.
ВВЕДЕНИЕ
Объектно-ориентированные языки программирования пользуются в последнее время большой популярностью среди программистов, так как они позволяют использовать преимущества объектно-ориентированного подхода не только на этапах проектирования и конструирования программных систем, но и на этапах их реализации, тестирования и сопровождения, что и обусловило актуальность моей работы. В данной курсовой работе затронуты такие вопросы как «библиотеки классов», «иерархия классов», а так же нужно написать в среде разработки «Delphi» программу, которая будет иметь функции простого файлового менеджера. Работа над этой курсовой работой должна углубить и расширить теоретические знания по объектно-ориентированному языку программированию Object Pascal (Delphi).
ЦЕЛЬ РАБОТЫ
Цель курсовой работы по «Объектно-ориентированному программированию» заключается в том что бы выполнить теоретическую и практическую часть по отдельным вопросам.
В заключении стоит подвести итоги, указать на достоинства и недостатки программы.
СОДЕРЖАНИЕ
Введение
Цель работы
1.1Общие сведенья о библиотеках классов.
2.1 Назначение и интерфейс приложения
2.2 Блок-схемы основных процедур
2.3 Листинг с комментариями
2.4 Требования к аппаратным и программным устройствам
2.5 Руководство пользователя
Заключение
Список литературы и ресурсов
1.1 Библиотеки классов.
Классами в Delphi называются специальные типы, которые содержат поля, методы и свойства. Как и любой другой тип, класс служит лишь образцом для создания конкретных экземпляров реализации, которые называются объектами. Сразу же уточню, что в предшественнике Delphi - Turbo Pascal объектами называются типы, имеющие много общего с классами Delphi. Однако существенные усовершенствования, внесенные в объектную модель Delphi, заставили разработчиков языка ввести для обозначения объектов специальный термин - класс, заимствованный, кстати, из Си++.
Важным отличием классов от других типов является то, что объекты класса всегда распределяются в куче, поэтому объект-переменная фактически представляет собой лишь указатель на динамическую область памяти. Однако в отличие от других указателей при ссылке на содержимое объекта запрещается использовать символ “^” за именем объекта:
type
TMyClass = class(TObject) Field: Integer;
end;
var
MyClass: TMyClass;
begin
MyClass^.Field := 0; // Ошибка! Следует писать так:
MyClass.Field := 0;
end;
Классы - это особое “изобретение” программистов для упрощения разработки сложных программ и улучшения их качества. В основе классов лежат три фундаментальных принципа, которые называются инкапсуляция, наследование и полиморфизм.
Инкапсуляция
Класс представляет собой единство
трех сущностей - полей, методов и
свойств. Объединение этих сущностей
в единое целое и называется инкапсуляцией.
Инкапсуляция позволяет во многом изолировать
класс от остальных частей программы,
сделать его “самодостаточным”
для решения конкретной задачи. В
результате класс всегда несет в
себе некоторую функциональность. Например,
класс т Form содержит (инкапсулирует
в себе) все необходимое для
создания Windows-окна, класс тмето представляет
собой полнофункциональный
Инкапсуляция представляет собой мощное средство обмена готовыми к работе программными заготовками. Библиотека классов Delphi - это фактически набор “кирпичиков”, созданных программистами Borland для построения ваших программ.
Наследование
Любой класс может быть порожден от другого класса. Для этого при его объявлении указывается имя класса-родителя:
TChildClass = class (TParentClass)
Порожденный класс автоматически наследует поля, методы и свойства своего родителя и может дополнять их новыми. Таким образом, принцип наследования обеспечивает поэтапное создание сложных классов и разработку собственных библиотек классов.
Все классы Delphi порождены от единственного родителя класса TObject. Этот класс не имеет полей и свойств, но включает в себя методы самого общего назначения, обеспечивающие весь жизненный цикл любых объектов - от их создания до уничтожения. Программист не может создать класс, который не был бы дочерним классом TObject. Следующие два объявления идентичны:
TaClass = class(TObject) TaClass = class
Принцип наследования приводит к созданию
ветвящегося дерева классов, постепенно
разрастающегося при
Полиморфизм
Полиморфизм - это свойство классов решать схожие по смыслу проблемы разными способами. В рамках Delphi поведенческие свойства класса определяются набором входящих в него методов. Изменяя алгоритм того или иного метода в потомках класса, программист может придавать этим потомкам отсутствующие у родителя специфические свойства. Для изменения метода необходимо перекрыть его в потомке, т. е. объявить в потомке одноименный метод и реализовать в нем нужные действия. В результате в объекте-родителе и объекте-потомке будут действовать два одноименных метода, имеющих разную алгоритмическую основу и, следовательно, придающих объектам разные свойства. Это и называется полиморфизмом объектов.
В Delphi полиморфизм достигается не только описанным выше механизмом наследования и перекрытия методов родителя, но и их виртуализацией, позволяющей родительским методам обращаться к методам своих потомков.
Все классы библиотеки визуальных компонентов произошли от группы базовых классов, которые лежат в основе иерархии VCL. Самый общий предок компонентов — это класс TObject, инкапсулирующий простейший объект. Как известно, каждый объект наследует свойства и методы родительского класса. К объекту можно добавить новые свойства и методы, но нельзя удалить унаследованные. Объект-наследник в свою очередь может стать родительским для нового класса, который унаследует возможности всех своих предков.
Поэтому иерархия базовых классов
VCL продумана чрезвычайно
Классы библиотеки VCL используют механизм простого наследования: один класс может иметь только одного предка. Корнем иерархии классов является класс TObject. Любой класс VCL-библиотеки наследуется от класса TObject.
На рис. 1.2 представлена корневая часть дерева иерархии классов VCL-библиотеки.
Рис.1.2 Иерархия классов VCL-библиотеки
Класс TObject инкапсулирует общие черты поведения всех объектов VCL-библиотеки. Если при создании нового объекта не указан базовый класс, то Delphi автоматически использует как предка класс TObject.
Объявление нового класса выполняется в секции type. Если после слова class в скобках не указано никакого наследуемого класса, то по умолчанию предполагается, что создаваемый класс наследуем от класса TObject.
Например:
type TMyClass = class // Эти два объявления
type TMyClass = class(TObject) //являются эквивалентными
TComponent является предком всех компонентов VCL-библиотеки.
Все потомки данного класса могут
быть расположены в палитре
Родительским элементом управления называется тот, в который непосредственно помещен данный компонент.
Владельцем всех компонентов, расположенных в форме, является сама форма. Владельцем всех форм является приложение. Если компонент расположен не непосредственно в форме, а, например, в компоненте типа TPanel, то владелец и родительский элемент управления у него будут различны.
Класс предоставляет большой набор свойств, включая следующие:
TControl - это базовый класс всех элементов управления (включая и окно формы). Эти компоненты могут быть видимы во время выполнения. Для них определены такие свойства, как позиция, курсор, всплывающая подсказка, методы для рисования или перемещения элемента управления, события для манипуляций с помощью мыши.
Класс предоставляет большой набор свойств, включая следующие:
Класс TWinControl является базовым классом всех оконных элементов управления.
Класс предоставляет большой набор свойств, включая следующие:
Класс TApplication инкапсулирует объект "Windows-приложение". Посредством этого класса определяется интерфейс между разработчиком и средой Windows. В каждом приложении Delphi всегда автоматически создается один объект Application как экземпляр класса приложения. Для большинства приложений этот объект является экземпляром класса TApplication. Компонент TApplication не отображается в палитре компонентов и не имеет публикуемых свойств. Для того чтобы иметь возможность перехватывать события для приложения, используя среду разработки IDE, можно добавить в любую форму проекта компонент TApplicationEvents.
Класс предоставляет большой набор свойств, включая следующие:
Каждое приложение Delphi имеет глобальную переменную Screen типа TScreen. Эта переменная определена как var Screen: TScreen;.
Компонент TScreen, так же как и компонент TApplication, недоступен из инспектора объектов. Этот компонент предназначен для обеспечения доступа к устройству вывода - экрану. Его свойства содержат информацию об используемом разрешении монитора, курсорах и шрифтах, доступных для приложения, списке форм приложения и активной форме.
Информация о работе Объектно-ориентированное программирование