Автор работы: Пользователь скрыл имя, 12 Апреля 2012 в 23:21, реферат
Использование объектно-ориентированной методологии не ограничено каким-либо одним языком программирования - она применима к широкому спектру объектных и объектно-ориентированных языков. Наряду с анализом и проектированием, несомненно, важны особенности конкретного языка программирования, поскольку, в конечном счете, наши конструкции должны быть выражены на каком-то языке.
Введение 3
Сущность объектно-ориентированного подхода к программированию. 5
Модульное программирование 7
Нисходящее программирование 7
Пошаговое программирование 8
Структурное программирование 9
Понятия объекта, класса объектов 9
Основные понятия объектно-ориентированного программирования: инкапсуляция, наследование и полиморфизм. 10
Примеры языков объектно-ориентированного программирования: 12
Object Pascal 12
C++. 13
Common Lisp Object System (CLOS). 15
Ada. 16
Заключение. 19
Список литературы: 20
Министерство образования и науки Российской Федерации
Федеральное
государственное бюджетное образовательное
учреждение
высшего профессионального образования
«ВЛАДИМИРСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
Имени Александра Григорьевича и Николая Григорьевича Столетовых»
(ВлГУ)
Кафедра «Физика
и прикладная математика»
Отчет по переаттестации по дисциплине “Языки программирования”
На тему “ Языки объектно-ориентированного программирования”
Выполнила:
ст. гр. ИТС-111
Морковкина А.Я.
Принял:
Старший преподаватель
Павлова О.Н.
Владимир 2012
Оглавление
Введение 3
Сущность объектно-ориентированного подхода к программированию. 5
Модульное программирование 7
Нисходящее программирование 7
Пошаговое программирование 8
Структурное программирование 9
Понятия объекта, класса объектов 9
Основные понятия объектно-ориентированного программирования: инкапсуляция, наследование и полиморфизм. 10
Примеры языков объектно-ориентированного программирования: 12
Object Pascal 12
C++. 13
Common Lisp Object System (CLOS). 15
Ada. 16
Заключение. 19
Список литературы: 20
Использование
объектно-ориентированной
При изучении объектно-ориентированного
программирования (ООП) наибольшей проблемой
является использование новой
Как в любом виде деятельности в программировании имеется своя технология: - это знания, правила, навыки и инструменты, позволяющие получать гарантированный качественный результат. Но само по себе соблюдение ряда правил не дает гарантию качества результата. Это объясняется спецификой программирования. Во-первых, это не наука, где знание какой-либо формулы позволяет однозначно решить задачу, подставив в нее исходные данные и получив результат. Во-вторых, эти правила необходимо соблюдать не столько на бумаге, сколько в голове. То есть технология программирования - это скорее способ организации процесса обдумывания программы, нежели ее записи. Из сказанного следует, что если пишущий программу - мыслит, то он уже придерживается какой-то технологии программирования, даже не подозревая об этом. Простейший метод заключается в написании программы сразу от начала до конца, без использования каких-либо общих принципов, то есть "как бог на душу положит".
Рассмотрим наиболее известные из технологий:
- метод
"северо-западного" угла (имеется
в виду лист бумаги или экран
дисплея). Программа пишется сразу
от начала до конца, без
- технология
структурного программирования, в
ней предполагается
- технология
объектного программирования: связана
с использованием при
Основные идеи объектно-
- Программа представляет собой модель некоторого реального процесса, части реального мира.
Модель реального мира или
его части может быть описана
как совокупность
- Объект описывается набором параметров, значения которых определяют состояние объекта, и набором операций (действий), которые может выполнять объект.
- Взаимодействие между
- Объекты, описанные одним и тем же набором параметров и способные выполнять один и тот же набор действий представляют собой класс однотипных объектов.
С точки зрения языка программирования класс объектов можно рассматривать как тип данного, а отдельный объект - как данное этого типа. Определение программистом собственных классов объектов для конкретного набора задач должно позволить описывать отдельные задачи в терминах самого класса задач (при соответствующем выборе имен типов и имен объектов, их параметров и выполняемых действий).
Таким образом, объектно-ориентированный подход предполагает, что при разработке программы должны быть определены классы используемых в программе объектов и построены их описания, затем созданы экземпляры необходимых объектов и определено взаимодействие между ними.
Классы объектов часто удобно строить
так, чтобы они образовывали иерархическую
структуру. Например, класс “Студент”,
описывающий абстрактного студента,
может служить основой для
построения классов “Студент 1 курса”,
“Студент 2 курса” и т.д., которые
обладают всеми свойствами студента
вообще и некоторыми дополнительными
свойствами, характеризующими студента
конкретного курса. При разработке
интерфейса с пользователем программы
могут использовать объекты общего
класса “Окно” и объекты классов
специальных окон, например, окон информационных
сообщений, окон ввода данных и т.п.
В таких иерархических
Некоторые параметры объекта
могут быть локализованы
Очевидно, для того, чтобы продуктивно
применять объектный подход
Опыт программирования показывает, что любой методический подход в технологии программирования не должен применяться слепо с игнорированием других подходов. Это относится и к объектно-ориентированному подходу. Существует ряд типовых проблем, для которых его полезность наиболее очевидна, к таким проблемам относятся, в частности, задачи имитационного моделирования, программирование диалогов с пользователем. Существуют и задачи, в которых применение объектного подхода ни к чему, кроме излишних затрат труда, не приведет. В связи с этим наибольшее распространение получили объектно-ориентированные языки программирования, позволяющие сочетать объектный подход с другими методологиями. В некоторых языках и системах программирования применение объектного подхода ограничивается средствами интерфейса с пользователем (например, Visual FoxPro ранних версий).
Наиболее используемыми в
Принцип модульности формулируется как требование разработки программы в виде совокупности модулей (функций). При этом разделение на модули должно носить не механический характер, а исходить из логики программы:
- размер модуля должен быть ограничен;
- модуль
должен выполнять логически
- модуль
должен быть универсальным, то
есть по возможности
- входные
параметры и результат модуля
желательно передавать не
Еще одной, но уже физической единицей программы является текстовый файл, содержащий некоторое количество функций и определений типов данных и переменных. Модульное программирование на уровне файлов - это возможность разделить полный текст программы на несколько файлов, транслировать их независимо друг от друга.
Принцип модульности распространяется не только на программы, но и на данные: любой набор параметров, характеризующих логический или физический объект, должен быть представлен в программе в виде единой структуры данных (структурированной переменной).
Олицетворением принципа модульности является библиотека стандартных функций. Она, как правило, обеспечивает полный набор параметризованных действий, используя общие структуры данных. Библиотеки представляют собой аналогичные Си-программы, независимо оттранслированные и помещенные в каталог библиотек.
Нисходящее
проектирование программы заключается
в том, что разработка идет от общей
неформальной формулировки некоторого
действия программы на естественном
языке, "от общего к частному":
к замене ее одной из трех формальных
конструкций языка
- простой последовательности действий;
- конструкции выбора или оператора if;
- конструкции повторения или цикла.
В записи алгоритма это соответствует движению от внешней (объемлющей) конструкции к внутренней (вложенной). Эти конструкции также могут содержать в своих частях неформальное описание действий, то есть нисходящее проектирование по своей природе является пошаговым. Отметим основные свойства такого подхода:
- первоначально
программа формулируется в
- первоначально
определяются входные
- очередной
шаг детализации не меняет
структуру программы,
- если
в процессе проектирования
- необходимые
структуры данных
В результате
проектирования получается программа,
в которой принципиально
Нисходящее проектирование по своей природе является пошаговым, ибо предполагает каждый раз замену одной словесной формулировки на единственную конструкцию языка. Но в процессе разработки программы могут быть и другие шаги, связанные с детализацией самой словесной формулировки в более подробную.
То, что этот принцип выделен отдельно, говорит о необходимости предотвратить соблазн детализации программы сразу от начала до конца и развивать умение выделять и сосредоточивать внимание на главных, а не второстепенных деталях алгоритма.
Вообще нисходящее пошаговое проектирование программы не дает гарантии получения "правильной" программы, но позволяет возвратиться при обнаружении тупиковой ситуации к одному из верхних шагов детализации.
При нисходящей
пошаговой детализации
Структурное программирование - модульное нисходящее пошаговое проектирование алгоритма и структур данных.
Центральными в ООП являются понятия класса и объекта. Образно говоря, ООП заключается не столько в использовании классов и объектов в программе, сколько в замене принципа программирования "от функции к функции" принципом программирования "от класса к классу".
Технология ООП прежде всего накладывает ограничения на способы представления данных в программе. Любая программа отражает в них состояние физических предметов либо абстрактных понятий (назовем их объектами программирования), для работы с которыми она предназначена. В традиционной технологии варианты представления данных могут быть разными. В худшем случае программист может "равномерно размазать" данные о некотором объекте программирования по всей программе. В противоположность этому все данные об объекте программирования и его связях с другими объектами можно объединить в одну структурированную переменную. В первом приближении ее можно назвать объектом. Кроме того, с объектом связывается набор действий, иначе называемых методами. С точки зрения языка программирования это функции, получающие в качестве обязательного параметра указатель на объект. Технология ООП запрещает работать с объектом иначе, чем через методы, то есть внутренняя структура объекта скрыта от внешнего пользователя. Описание множества однотипных объектов называется классом.
Информация о работе Языки объектно-ориентированного программирования