Объектно-ориентированное программирование

Автор: Пользователь скрыл имя, 03 Января 2012 в 19:31, курсовая работа

Описание работы

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

В технологии ООП взаимоотношения данных и алгоритма имеют более регулярный характер: во-первых, класс (базовое понятие этой технологии) объединяет в себе данные (структурированная переменная) и методы (функции). Во-вторых, схема взаимодействия функций и данных принципиально иная. Метод (функция), вызываемый для одного объекта, как правило, не вызывает другую функцию непосредственно. Для начала он должен иметь доступ к другому объекту (создать, получить указатель, использовать внутренний объект в текущем и т.д.), после чего он уже может вызвать для него один из известных методов. Таким образом, структура программы определяется взаимодействием объектов различных классов между собой. Как правило, имеет место иерархия классов, а технология ООП иначе может быть названа как программирование "от класса к классу".

Содержание

Введение…………………………………………………………………………..4
Объектно-ориентированное программирование.………………………...…..…6

1.1 Предыстория…………………………………………………………..………6

1.2 Основные понятия ООП.………………………………………….…….……8

1.3 Обобщение…………………………………………………………..……….10
Описание среды программирования Borland C++ Builder………..…..………11

2. 1 Описание главного окна Borland C++ Builder…………………….………12
Код программы. Описание интерфейса ……………………….….…...………16

3.1 Описание кода программы……………………………………………….…16

3.2 Описание компонентов……………………………………………...………23
Тестирование программы…………………………………………………….…24

5. Выводы…..……………………………………………………………………….26

6. Использованная литература…………………………………………….………27

Приложение А……………………………………………………………………28

Работа содержит 1 файл

otchet.doc

— 1.83 Мб (Скачать)

Міністерство  освіти і науки, молоді та спорту

Національний  технічний університет «ХПІ»

кафедра «Інформатика та інтелектуальна власність» 
 
 
 

 
 
 
«Затверджую»

зав. кафедрою ІІВ

_________________М.М.Солощук

 
 
 
 
 
 
 

ПОЯСНЮВАЛЬНА  ЗАПИСКА

курсового проекту 

з дисципліни «Об'єктно-орієнтоване програмування» 

Тема  проекту

«Простий Медia-Програвач» 
 
 
 
 

         Керівник  проекту

       Любченко  Н.Ю.

       ________________

   
 
       Виконавець

         Романченко Ю.В.

       Группа  КИТ 40-А

       _______________

 
 
 
 
 
 
 

Харків 2011 

    АННОТАЦИЯ

     В данном курсовом проекте разработана программа, для воспроизведения медиа файлов (аудио/видео).

Обязательные  условия:

  1. Воспроизведение mp3/avi файлов.
  2. Окно автора программы.
  3. 3 примера мелодий
  4. Случайное изменение картинок при проигрывании, если отсутствует видео поток.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

СОДЕРЖАНИЕ

Введение…………………………………………………………………………..4

  1. Объектно-ориентированное программирование.………………………...…..…6

1.1 Предыстория…………………………………………………………..………6

1.2 Основные понятия ООП.………………………………………….…….……8

1.3 Обобщение…………………………………………………………..……….10

  1. Описание среды программирования Borland C++ Builder………..…..………11

2. 1 Описание главного окна Borland C++ Builder…………………….………12

  1. Код программы. Описание интерфейса ……………………….….…...………16

3.1 Описание  кода программы……………………………………………….…16

3.2 Описание компонентов……………………………………………...………23

  1. Тестирование программы…………………………………………………….…24

5.   Выводы…..……………………………………………………………………….26

6.   Использованная литература…………………………………………….………27

Приложение  А……………………………………………………………………28 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

ВВЕДЕНИЕ

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

     В технологии ООП взаимоотношения  данных и алгоритма имеют более регулярный характер: во-первых, класс (базовое понятие этой технологии) объединяет в себе данные (структурированная переменная) и методы (функции). Во-вторых, схема взаимодействия функций и данных принципиально иная. Метод (функция), вызываемый для одного объекта, как правило, не вызывает другую функцию непосредственно. Для начала он должен иметь доступ к другому объекту (создать, получить указатель, использовать внутренний объект в текущем и т.д.), после чего он уже может вызвать для него один из известных методов. Таким образом, структура программы определяется взаимодействием объектов различных классов между собой. Как правило, имеет место иерархия классов, а технология ООП иначе может быть названа как программирование "от класса к классу".

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

     Объект - структурированная переменная, содержащая всю информацию о некотором физическом предмете или реализуемом в программе  понятии.

     Класс - описание множества таких объектов и выполняемых над ними действий. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

  1. ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ, ПРОГРАММИРОВАНИЕ

     Объектно-ориентированное, или объектное программирование (в дальнейшем ООП) – парадигма программирования, в которой основными концепциями являются понятия объектов и классов. В случае языков с прототипированием вместо классов объекты-прототипы.

    1. Предыстория ООП

     Практически сразу после появления языков третьего поколения (1967 г.) ведущие специалисты  в области программирования выдвинули  идею преобразования постулата фон  Неймана: «данные и программы неразличимы в памяти машины». Их цель заключалась в максимальном сближении данных и программы. Решая поставленную задачу, они столкнулись с задачей, решить которую без декомпозиции оказалось невозможно, а традиционные структурные декомпозиции не сильно упрощали задачу. Усилия многих программистов и системных аналитиков, направленные на формализацию подхода, увенчались успехом.

Были  разработаны три основополагающих принципа того, что потом стало  называться объектно-ориентированным  программированием (ООП):

- наследование;

- инкапсуляция;

- полиморфизм.

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

 

     Впоследствии  Симула-1 был обобщен, и появился первый универсальный ООП-ориентированный язык программирования – Симула-67 (67 – по году создания).

     Как выяснилось, ООП оказалось пригодным  не только для моделирования (Simula) и  разработки графических приложений (SmallTalk), но и для создания большинства других приложений, а его приближенность к человеческому мышлению и возможность многократного использования кода сделали его одной из наиболее бурно используемых концепций в программировании.

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

     ОП  возникло в результате развития идеологии процедурного программирования, где данные и подпрограммы (процедуры, функции) их обработки формально не связаны. Для дальнейшего развития объектно-ориентированного программирования часто большое значение имеют понятия события (так называемое событийно-ориентированное программирование) и компонента (компонентное программирование, КОП).

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

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

     В настоящее время количество прикладных языков программирования (список языков), реализующих объектно-ориентированную  парадигму, является наибольшим по отношению  к другим парадигмам. В области системного программирования до сих пор применяется парадигма процедурного программирования, и общепринятым языком программирования является язык C. Хотя при взаимодействии системного и прикладного уровней операционных систем заметное влияние стали оказывать языки объектно-ориентированного программирования. Например, одной из наиболее распространенных библиотек мультиплатформенного программирования является объектно-ориентированная библиотека Qt, написанная на языке C++.

    1.2   Основные понятия ООП

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

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

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

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

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

     Полиморфизм — это свойство системы использовать объекты с одинаковым интерфейсом без информации о типе и внутренней структуре объекта. 

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

    1.3   Обобщение 

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

     Объектно-ориентированное программирование базируется на трех принципах и одном механизме: инкапсуляция, наследование, полиморфизм и позднее связывание. (Иногда к ним приписывают программирование, управляемое сообщениями).

Информация о работе Объектно-ориентированное программирование