Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Delphi.Начало.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
1.56 Mб
Скачать

Задание для самостоятельной работы

Создать приложение, реализующее возможности простого текстового редактора по работе с текстовыми файлами: создание файла, открытие файла, сохранение файла, сохранение с другим именем, изменение шрифта, изменение цвета фона, и др. Снабдить редактор главным меню, кнопочной панелью, реализующей основные функции текстового редактора.

Занятие 13. Объектно-ориентированный подход (ооп) в программировании Основные понятия ооп

В настоящее время большое распространение получила технология объектно-ориентированного программирования, у истоков которой стоят такие известные специалисты как Гради Буч, признанный эксперт в этой области.

Этот подход к программированию возник, когда появилось понимание того, что программный код тесно связан с теми данными, которые он обрабатывает. Кроме того, упаковка программного кода в объекты, позволяет посмотреть на программу не как на совокупность программного кода, в виде процедур, функций, и данных, а как на взаимодействие различных объектов, каждый из которых представляет собой совокупность программного кода и данных. Такое понимание программы ближе к представлению предметной области в виде объектов реального мира.

Ключевыми понятиями этой технологии являются понятия объекта и класса. Под классом понимается некая совокупность объектов реального мира, обладающих общими свойствами и общим поведением. Например, класс «Собаки» - объединяет вообще всех собак. Класс «Книги» - объединяет все книги. Класс «Студенты» - объединяет вообще всех студентов. Класс «Планеты» - объединяет все планеты, например, солнечной системы.

Объект представляет собой конкретный экземпляр какого-либо класса, например, собака «Шарик» является объектом класса «Собаки», книга «Три мушкетера» - это объект класса «Книги», а студент Иванов Вася является объектом класса «Студенты», планета «Земля» - объект класса «Планеты».

При описании класса задаются свойства объектов класса и их поведение. Свойства могут задавать внешний вид объекта, его состояние и описываются как данные. Поведение объектов задается с помощью программного кода. При этом разные объекты класса могут иметь разные свойства, но одно и то же поведение. Например, разные планеты солнечной системы могут иметь разное положение на экране, разную окраску, разный размер, но движутся они по одним и тем же законам.

Основные принципы ооп

Объект это нечто, что объединяет в себе данные и программный код. Данные реализованы в виде свойств объекта, программный код это методы объекта. Данные у разных объектов могут различаться, но методы у объектов одного класса едины.

Класс это шаблон, тип, в соответствии с которым строятся конкретные экземпляры объектов класса. Данные объекта должны быть защищены своими методами, т.е. доступ к данным объекта должен осуществляться только через методы объекта. Это первый принцип объектно-ориентрованного программирования, который называется – инкапсуляция. Т.е. данные объекта находятся как бы в капсуле из методов объекта. Этот принцип часто называют сокрытие данных.

Можно создавать наследников класса, при этом наследуются все свойства и методы предка и добавляются свои свойства и методы. Этот принцип носит название – наследование. Это очень мощный принцип, который позволяет не изобретать велосипед, а взять все, что нужно у предка и добавить новое.

Тритий принцип ООП называется – полиморфизм ( поли – много, морф – форма), можно перевести как разнообразие. Этот принцип означает, что родственные объекты могут выполнять схожие по смыслу действия разными способами. Т.е. у потомков поведение уже может быть изменено. Иногда этот принцип называют сокрытие интерфейса, т.е. за одним и тем же заголовком метода, реализующего поведение объекта, скрывается разная реализация метода у предка и у потомка. Чтобы было понятно, рассмотрим такой пример. У класса «Транспортное средство» есть метод «Двигаться». Наследниками этого класса являются классы «Автомобиль», «Самолет» и «Пароход». Наследники наследуют у предка все, в том числе и метод «Двигаться». Для класса «Самолет» двигаться – означает летать, для класса «Пароход» двигаться – означает плыть, для «Автомобиля» двигаться означает ехать. Поэтому в каждом классе наследнике метод «Двигаться» получит свою реализацию.

Перед тем, как перейти непосредственно к описанию синтаксиса классов и объектов в Delphi, полезно будет познакомиться с еще одним типом данных – комбинированным типом или записью.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]