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

Автор работы: Пользователь скрыл имя, 15 Апреля 2014 в 11:33, реферат

Краткое описание

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

Содержание

ВВЕДЕНИЕ………………………………………...………………....…….3
Глава 1. История объектно-ориентированного программирования……4
Глава 2. Объекты в объектно-ориентированном программировании….9
Глава 3. Инкапсуляция в объектно-ориентированном программировании………………………………………………………………11
Глава 4. Наследование и виртуальные методы………………………....12
Глава 5. Динамическое создание объектов и полиморфизм………………………………………………………….…………16
ЗАКЛЮЧЕНИЕ ………………………………………………………..…18
СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ ………………….……...20

Прикрепленные файлы: 1 файл

РЕФЕРАТ объектно-ориентированное программирование.doc

— 96.00 Кб (Скачать документ)

 

 

Министерство образования Российской Федерации

Министерство сельского хозяйства Российской Федерации

Иркутская государственная сельскохозяйственная академия

Кафедра информатики и математического моделирования

 

                                                            

 

 

 

 

 

 

 

Реферат 

 

по дисциплине: Парадигмы программирования

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

 

 

 

 

 

 

Выполнил:

 

 

 

 

 

 

 

 

Иркутск 2013

 

Оглавление

 

 

ВВЕДЕНИЕ………………………………………...………………....…….3

Глава 1. История объектно-ориентированного программирования……4

Глава 2. Объекты в объектно-ориентированном программировании….9

          Глава 3. Инкапсуляция в объектно-ориентированном программировании………………………………………………………………11

Глава 4. Наследование и виртуальные методы………………………....12

Глава 5. Динамическое создание объектов и полиморфизм………………………………………………………….…………16

ЗАКЛЮЧЕНИЕ ………………………………………………………..…18

СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ ………………….……...20

 

ВВЕДЕНИЕ

 

 

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

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

   1. абстракции –  формальное  о  качествах  или  свойствах  предмета  путем мысленного удаления некоторых частностей или материальных объектов;

2. инкапсуляции – механизма, связывающего вмести код и  данные,  которыми он манипулирует, и защищающего их от  внешних  помех  и  некорректного использования;

   3. наследования –  процесса, с помощью которого  один  объект  приобретает свойства другого, т.е. поддерживается иерархической классификации;

   4. полиморфизма –  свойства,  позволяющего  использовать  один  и  тот  же интерфейс  для общего класса действий.

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

- определение основных  объектов, необходимых  для  решения  данной задачи;

- определение закрытых  данных  (данных  состояния)  для  выбранных объектов;

- определение второстепенных  объектов и их закрытых данных;

-  определение  иерархической  системы   классов,   представляющих выбранные объекты;

- определение  ключевых  сообщений,  которые  должны  обрабатывать объекты каждого класса;

- разработка  последовательности  выражений,  которые   позволяют решить поставленную задачу;

- разработка методов, обрабатывающих  каждое сообщение;

-  очистка  проекта,  то  есть  устранение  всех   вспомогательных промежуточных материалов, использовавшихся при проектировании;

- кодирование, отладка, компоновка  и тестирование.

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

 

 

 

 

 

 

 

 

Глава 1. История объектно-ориентированного программирования

 

 

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

Начало развитию объектно-ориентированного подхода положил язык Simula 67, который был разработан в конце 60-х гг. в Норвегии. Несмотря на то, что язык намного опередил свое время, современники (программисты 60-х гг.) оказались не готовы воспринять ценности языка Simula 67, и он не выдержал конкуренции с другими языками программирования (прежде всего, с языком Fortran).

Но достоинства языка Simula 67 были замечены некоторыми программистами, и в 70-е гг. было разработано большое число экспериментальных объектно-ориентированных языков программирования. В результате исследования этих языков были разработаны современные объектно-ориентированные языки программирования: C++, Ada, Smalltalk и др.

Наиболее распространенным объектно-ориентированным языком программирования является язык C++. Он возник на базе соединения языков С и Simula. С++ был разработан в начале 80-х Бьерном Страуструпом, сотрудником компании AT&T. Все эти годы язык интенсивно развивался, и, наконец, в августе 1998 г. был принят международный стандарт языка С++.

Разработка новых объектно-ориентированных языков программирования продолжается и в настоящее время. Например, с 1995 г. стал широко распространяться объектно-ориентированный язык программирования Java, ориентированный на сети компьютеров и, прежде всего, на Internet.

Вместе с развитием объектно-ориентированного программирования стали развиваться и объектно-ориентированные методы разработки программного обеспечения, охватывающие стадии анализа и проектирования. Среди общепризнанных объектно-ориентированных подходов к анализу и проектированию следует выделить методы Г. Буча, Д. Рамбо, А. Джекобсона, Шлеера-Меллора и Коуда-Йордона. В результате объединения усилий первых трех авторов появился на свет унифицированный язык моделирования UML, который в 1997 г. был принят в качестве стандарта консорциумом Object Management Group и получил широкое распространение в сфере производства программного обеспечения.

Основные идеи объектно-ориентированного подхода опираются на следующие положения:

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

– модель реального мира или его части может быть описана как совокупность взаимодействующих между собой объектов;

– объект описывается набором атрибутов (свойств), значения которых определяют состояние объекта, и набором операций (действий), которые может выполнять объект;

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

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

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

Объектно-ориентированный подход дает следующие основные преимущества:

– уменьшение сложности программного обеспечения;

– повышение его надежности;

– обеспечение возможности модификации отдельных компонент программ без изменения остальных компонент;

– обеспечение возможности повторного использования отдельных компонент программного обеспечения.

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

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

     

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Глава 2. Объекты в объектно-ориентированном программировании

 

 

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

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

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

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

В описании объекта фактически содержаться лишь шаблоны обращения к  методам, которые  необходимы  компилятору  для   проверки   соответствия   количества параметров  и  их  типов  при  обращении  к  методам.  Вот  пример  описания объекта:

         Type

            Location =bject

                 X,Y: Integer;

                 Procedure Init(InitX, InitY: Integer);

                 Function GetX: Integer;

                 Function GetY: Integer;

         End;

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

Таким образом, в данной главе мы рассмотрели основное понятие в объектно-ориентированном программировании – понятие объекта.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Глава 3. Инкапсуляция в объектно-ориентированном программировании

 

 

Инкапсуляция  является  важнейшим  свойством  объектов,  на   котором строится     объектно-ориентированное     программирование.

Инкапсуляция заключается в том, что объект скрывает в себе детали, которые  несущественны для использования объекта.  В  традиционном  подходе  к  программированию  с использованием глобальных  переменных  программист  не  был  застрахован  от ошибок,  связанных  с  использованием  процедур,  не   предназначенных   для обработки данных, связанных с этими переменными. Предположим, например,  что имеется программа, предназначенная для начисления заработной  платы сотрудникам некой организации, а  в  программе  имеются  два  массива.  Один массив хранит величину  заработной  платы,  а  другой  –  телефонные  номера сотрудников  (для  составления  отчёта   для   налоговой   инспекции).   Что произойдёт, если программист случайно перепутает эти массивы? «Жёсткое» связание данных  и  процедур их обработки в одном объекте позволит избежать  неприятностей  такого  рода.

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