Главная    Почта    Новости    Каталог    Одноклассники    Погода    Работа    Игры     Рефераты     Карты
  
по Казнету new!
по каталогу
в рефератах

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



 Другие рефераты
Общий обзор экспертных систем Объектно-ориентированная СУБД (прототип) Объектно-ориентированные СУБД Объектно-ориентированные языки програмирования

1. Введение

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



2. Что такое объектно-ориентированное программирование

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


3. Объекты

      Базовым в объектно-ориентированном программировании  является  понятие
объекта. Объект имеет  определённые  свойства.  Состояние  объекта  задаётся
значениями его признаков. Объект «знает», как  решать  определённые  задачи,
то   есть   располагает   методами   решения.   Программа,   написанная    с
использованием ООП, состоит из  объектов,  которые  могут  взаимодействовать
между собой.
      Ранее отмечалось,  что  программная  реализация  объекта  представляет
собой объединение данных и  процедур  их  обработки.  Переменные  объектного
типа называют экземплярами объекта. Здесь требуется  уточнение  –  экземпляр
можно лишь формально назвать переменной. Его описание даётся  в  предложение
описания переменных, но в действительности экземпляр –  нечто  большее,  чем
обычная переменная.
      В отличие от типа «запись», объектный тип  содержит  не  только  поля,
описывающие  данные,  но  также  процедуры  и  функции,   описания   которых
содержится в описании объекта. Эти процедуры и  функции  называют  методами.
Методам объекта доступны  его  поля.  Следует  отметить,  что  методы  и  их
параметры определяются в описании объекта, а их реализация даётся вне  этого
описания, в том мест программы, которое предшествует вызову данного  метода.
В описании объекта фактически содержаться лишь шаблоны обращения к  методам,
которые  необходимы  компилятору  для   проверки   соответствия   количества
параметров  и  их  типов  при  обращении  к  методам.  Вот  пример  описания
объекта[1]:
         Type
            Location = object
                 X,Y: Integer;
                 Procedure Init(InitX, InitY: Integer);
                 Function GetX: Integer;
                 Function GetY: Integer;
         End;
      Здесь описывается объект, который может использоваться  в  дальнейшем,
скажем,  в  графическом  режиме  и  который  предназначен  для   определения
положения на экране произвольного графического элемента. Объект  описывается
с помощью зарезервированных слов
object…end, между которыми находиться описание  полей  и  методов.  В  нашем
примере  объект  содержит  два  поля  для  хранения   значений   графических
координат, а так же для описания процедуры и  двух  функций   -  это  методы
данного  объекта.  Процедура  предназначена  для   задания   первоначального
положения объекта, а функция – для считывания его координат.


4. Инкапсуляция

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



5. Наследование

      Наследование – это ещё одно базовое понятие  объектно-ориентированного
программирования.   Наследование   позволяет   определя
12
скачать работу


 Другие рефераты
Личность. Понятие личности
Байқоңыр ғарыш айлағы
Кеңістік және уақыт теориясының мәселелері
Проблемы типикона на Поместном Соборе


 

Отправка СМС бесплатно

На правах рекламы


ZERO.kz
 
Модератор сайта RESURS.KZ