Объектно-ориентированный подход к программированию

Автор работы: Пользователь скрыл имя, 07 Ноября 2011 в 21:02, реферат

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

Раскрывает понятие объектно-ориентированного подхода к программированию, основные определения и базовые понятия.

Содержание работы

Что такое программирование…………………………………………………………....2
История развития программирования………………………………………………....2
Объектно-ориентированный подход к программированию…………………….…..4
Базовые понятия объектно-ориентированного подхода…………………………….5
Три основополагающих концепции объектно-ориентированного подхода………………………………………………………………………………………….6
Фундаментальные характеристики объектно-ориентированного мышления……………………………………………………………………………………….7

Содержимое работы - 1 файл

Doc1.doc

— 60.00 Кб (Скачать файл)

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ЖЕЛЕЗНОДОРОЖНОГО ТРАНСПОРТА

Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования

«ПЕТЕРБУРГСКИЙ  ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ПУТЕЙ  СООБЩЕНИЯ»

Кафедра «ИНФОРМАТИКА И ИНФОРМАЦИОННАЯ БЕЗОПАСНОСТЬ»

Дисциплина: «Информатика» 
 
 
 
 
 
 

РЕФЕРАТ

на тему:

«Объектно-ориентированный подход к программированию» 
 
 
 
 

   Выполнил  студент

факультета  ЭСУ

    группы  ЭБС-101

          ______________ /А.И. Кузнецова /

       /номер  зачетной книжки /       подпись, дата 
 
 
 
 
 
 
 
 
 
 
 

Санкт- Петербург

2011 

Содержание:

1) Что  такое программирование…………………………………………………………....2

2) История развития программирования………………………………………………....2

2) Объектно-ориентированный подход к программированию…………………….…..4

4) базовые понятия объектно-ориентированного подхода…………………………….5

5) три основополагающих концепции объектно-ориентированного подхода………………………………………………………………………………………….6

7) Фундаментальные характеристики объектно-ориентированного мышления……………………………………………………………………………………….7 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Что такое программирование?

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

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

   В более широком смысле под программированием понимают весь спектр деятельности, связанный с созданием и поддержанием в рабочем состоянии программ — программного обеспечения ЭВМ. Более точен современный термин — «программная инженерия». Сюда входят анализ и постановка задачи, проектирование программы, построение алгоритмов, разработка структур данных, написание текстов программ, отладка и тестирование программы, документирование, настройка, доработка и сопровождение.

История развития программирования.

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

   Часто первым программируемым  устройством принято считать  жаккардовый ткацкий станок, построенный  в 1804 году Жозефом Мари Жаккаром, который произвёл революцию в  ткацкой промышленности, предоставив возможность программировать узоры на тканях при помощи перфокарт. 

   Первое программируемое вычислительное устройство, Аналитическую машину, разработал Чарлз Бэббидж (но не смог её построить). 19 июля 1843 года графиня Ада Августа Лавлейс, дочка великого английского поэта Джорджа Байрона, как принято считать, написала первую в истории человечества программу для Аналитической машины. Эта программа решала уравнение Бернулли, выражающее закон сохранения энергии движущейся жидкости. 

   В своей первой и единственной научной работе Ада Лавлейс рассмотрела большое число вопросов. Ряд высказанных ею общих положений (принцип экономии рабочих ячеек памяти, связь рекуррентных формул с циклическими процессами вычислений) сохранили свое принципиальное значение и для современного программирования. В материалах Бэббиджа и комментариях Лавлейс намечены такие понятия, как подпрограмма и библиотека подпрограмм, модификация команд и индексный регистр, которые стали употребляться только в 1950-х годах.

  Однако ни одна из программ написанных Адой Лавлейс никогда так и не была запущена.

  Аду Августу, графиню Лавлейс,  принято считать почётным первым  программистом. История сохранила  её имя в названии универсального  языка программирования «Ада» 

   Первый работающий программируемый компьютер (1941 год), первые программы для него, а также первый язык программирования высокого  уровня Планкалкюль создал немецкий инженер Конрад Цузе.

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

Объектно-ориентированный подход к программированию.

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

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

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

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

– свойство объекта  – характеристика объекта, его параметр;

– метод обработки  – программа действий над объектом или его свойствами;

– событие – изменение состояния объекта;

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

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

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

– полиморфизм;

– наследование.   

Рассмотрим  эти концепции.

  Важнейшая характеристика класса – возможность создания на его основе новых классов с наследованием всех его свойств и методов и добавлением собственных. Класс, не имеющий предшественника, называется базовым.

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

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

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

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

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

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

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

Фундаментальные характеристики объектно-ориентированного мышления

 
Характеристика 1. Любой предмет или явление могут рассматриваться как объект.

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

Характеристика 3. Объекты могут иметь открытые по интерфейсу методы обработки сообщений. Сами сообщения вызовов методов посылаются другими объектами, но для осуществления разумного интерфейса между объектами некоторые методы могут быть скрыты.

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

Характеристика 5. Каждый объект является представителем класса, который выражает общие свойства объектов данного класса в виде одинаковых списков набора данных (полей) в своей памяти и внутренних методов, обрабатывающих сообщения. В классе методы задают поведение объекта. Тем самым все объекты, которые являются экземплярами одного класса, могут выполнять одни и те же действия.

Характеристика 6. Классы организованы в единую квазидре-вовидную структуру с общим корнем, которая называется иерархией наследования. Обычно корень иерархии направлен вверх. При множественном наследовании ветви могут срастаться, образуя сеть наследования. Память и поведение, связанные с экземплярами определенного класса, автоматически являются доступными любому классу, расположенному ниже в иерархическом дереве.

Характеристика 7. Благодаря полиморфизму – способности подставлять во время выполнения вместо одного объекта другой, с совместимым интерфейсом, в периоде выполнения одни и те же объекты могут разными методами исполнять одни и те же запросы сообщений.

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

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

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