Оригинальные учебные работы для студентов


Курсовая работа по объектно ориентированному программированию

Программирование и комп-ры Курсовая: Введение Концепция объектно-ориентированного программирования подразумевает, что основой управления процессом реализации программы является передача сообщений объектам.

  1. Виртуальные методы Наследование позволяет создавать иерархические, связанные отношениями подчинения, структуры данных. Полиморфизм Полиморфизм заключается в том, что одно и то же имя может соответствовать различным действиям в зависимости от типа объекта.
  2. Динамическое создание объектов Переменные объектного типа могут быть динамическими, то есть размещаться в памяти только во время их использования. Для работы с динамическими объектами используются расширенный синтаксис процедур New и Dispose.
  3. Инкапсуляция как бы скрывает и подробности внутренней реализации типов, и внешние операции и функции, допустимые для выполнения над объектами этого типа.
  4. Изучение идей и методов ООП может существенно упростить разработку и отладку сложных программ.
  5. Использование ООП позволяет выйти из такой ситуации с минимальными потерями, сводя необходимую модификацию программы к её расширению и дополнению.

Поэтому объекты должны определяться совместно с сообщениями, на которые они должны реагировать при выполнении программы. В этом состоит главное отличие ООП от процедурного программирования, курсовая работа по объектно ориентированному программированию отдельно определённые структуры данных передаются в процедуры функции в качестве параметров. Таким образом, объектно-ориентированная программа состоит из объектов — отдельных фрагментов кода, обрабатывающего данные, которые взаимодействуют друг с другом через определённые интерфейсы.

Объектно-ориентированный язык программирования должен обладать следующими свойствами: Разработка объектно-ориентированных программ состоит из следующих последовательных работ: Объектно-ориентированное программирование позволяет программисту моделировать объекты определённой предметной области путем программирования их содержания и поведения в пределах класса.

Инкапсуляция как бы скрывает и подробности внутренней реализации типов, и внешние операции и функции, допустимые для выполнения над объектами этого типа.

Что такое объектно-ориентированное программирование Элементы объектно-ориентированного программирования ООП появились в начале 70-х годов в языке моделирования Симула, затем получили свое развитие, и в настоящее время ООП принадлежит к числу ведущих технологий программирования. Основная цель ООП, как и большинства других подходов к программированию — повышение эффективности разработки программ. Идеи ООП оказались плодотворными и нашли применение не только в языках программирования, но и в других областях Computer Science, например, в области разработки операционных систем.

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

В роли последних могут выступать, например, графические объекты, записи в базах данных или совокупности числовых значений. В традиционных методах программирования изменение данных или правил и методов обработки часто приводило к необходимости значительного изменения программы. Использование ООП позволяет выйти из такой ситуации с минимальными потерями, сводя необходимую модификацию программы к её расширению и дополнению. Необходимо заметить, что ООП не является панацеей от всех программистских бед, но его ценность как передовой технологии программирования несомненна.

Изучение идей и методов ООП может существенно упростить разработку и отладку сложных программ. Мы уже привыкли использовать в своих программах процедуры и функции курсовая работа по объектно ориентированному программированию программирования тех сложных курсовая работа по объектно ориентированному программированию по обработке данных, которые приходится выполнять многократно.

Использование подпрограмм в своё время было важным шагом на пути к увеличению эффективности программирования. Подпрограмма может иметь формальные предметы, которые при обращении к ней заменяются фактическими предметами. В этом случае есть опасность вызова подпрограммы с неправильными данными, что может привести к сбою программы и её аварийному завершению при выполнении.

Поэтому естественным обобщением традиционного подхода к программированию является объединение данных и подпрограмм процедур и функцийпредназначенных для их обработки.

Объекты Базовым в объектно-ориентированном программировании является понятие объекта. Объект имеет определённые свойства. Состояние объекта задаётся значениями его признаков. Программа, написанная с использованием ООП, состоит из объектов, которые могут взаимодействовать между. Ранее курсовая работа по объектно ориентированному программированию, что программная реализация объекта представляет собой объединение данных и процедур их обработки.

Переменные объектного типа называют экземплярами объекта.

Здесь требуется уточнение — экземпляр можно лишь формально назвать переменной. Его описание даётся в предложение описания переменных, но в действительности экземпляр — нечто большее, чем обычная переменная. Эти процедуры и функции называют курсовая работа по объектно ориентированному программированию. Методам объекта доступны его поля.

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

Вот пример описания объекта [1]: Integer ; Function GetX: Integer; End; Здесь описывается объект, который может использоваться в дальнейшем, скажем, в графическом режиме и который предназначен для определения положения на экране произвольного графического элемента. Объект описывается с помощью зарезервированных слов object. В нашем примере объект содержит два поля для хранения значений графических координат, а так же для описания процедуры и двух функций - это методы данного объекта.

Процедура предназначена для задания первоначального положения объекта, а функция — для считывания его координат. Инкапсуляция Инкапсуляция является важнейшим свойством объектов, на котором строится объектно-ориентированное программирование.

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

Один массив хранит величину заработной платы, а другой — телефонные номера сотрудников для составления отчёта для налоговой инспекции. Что произойдёт, если программист случайно перепутает эти массивы? Очевидно, для бухгалтерии начнутся тяжёлые времена. Инкапсуляция и является средством организации доступа к данным только через курсовая работа по объектно ориентированному программированию методы.

В нашем примере описание объекта процедура инициализации Init и функции GetX и GetY уже не существуют как отдельные самостоятельные объекты. Это неотъемлемые части объектного типа Location. Если в программе имеется описание нескольких переменных указанного типа, то для каждой переменной резервируется своя собственная область памяти для хранения данных, а указатели на точки входа в процедуру и функции — общие.

Вызов каждого метода возможен только с помощью составного имени, явно указывающего, для обработки каких данных предназначен данный метод. Наследование Наследование — это ещё одно базовое понятие объектно-ориентированного программирования. Наследование позволяет определять новые объекты, используя свойства прежних, дополняя или изменяя. Пример описания объекта-наследника даётся ниже: Integer ; End; Наследником здесь является объект Point, описывающий графическую точку, а родителем — объект Location.

Наследник не содержит описание полей и методов родителя. Имя последнего указывается в круглых скобках после слова object. Из методов наследника можно вызывать методы родителя. Для создания наследника не требуется иметь исходный текст объекта родителя.

Объект-родитель может быть уже в составе оттранслированного модуля. В чём привлекательность наследования? Если некий объект был уже определён и курсовая работа по объектно ориентированному программированию, он может быть использован и в других программах.

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

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

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

Следует, однако, заметить, что при использовании этой возможности могут возникнуть проблемы. Предположим, что в нашей графической программе необходимо определить объект Circle, который является потомком другого объекта Point: Integer ; Procedure Contact ContactBy: Integer ; End; Новый объект Circle соответствует окружности.

Поскольку свойства окружности отличаются от свойств точки, в объекте-наследнике придется изменять процедуры Show и Hide, которые отображают окружность и удаляют её изображение с экрана. Может оказаться, что метод Init см. Очевидно в объекте Circle они работать не. Чтобы это сделать, нам придётся полностью воспроизвести текст метода. Это усложни работу, да и не всегда возможно, поскольку исходного текста программы может не оказаться под рукой если объект-родитель уже находиться в оттранслированном модуле.

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

Инициализация экземпляра объекта, имеющего виртуальные методы, должна выполняться с помощью специального метода — конструктора. Конструктор обычно присваивает полям объекта начальные значения и выполняет другие действия по инициализации объекта.

В заголовке метода-конструктора слово procedure заменяется словом constructor. Действия обратные действиям конструктора, выполняет ещё один специальный метод — деструктор. Он описывается словом destructor. Конструктор выполняет действия по подготовке позднего связывания.

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

У каждого объектного типа имеется своя собственная таблица виртуальных методов, что позволяет одному и тому же оператору вызывать разные процедуры. Если имеется несколько экземпляров объектов одного типа, то недостаточно вызвать курсовая работа по объектно ориентированному программированию для одного из них, а затем просто скопировать этот экземпляр во все остальные.

Каждый объект должен иметь свой собственный конструктор, который вызывается для каждого экземпляра. В противном случае возможен сбой в работе программы. Весь необходимый код в этом случае создается при трансляции ключевых слов construct и destruct. Динамическое создание объектов Переменные объектного типа могут быть динамическими, то есть размещаться в памяти только во время их использования. Для работы с динамическими объектами используются расширенный синтаксис процедур New и Dispose.

VK
OK
MR
GP