Автор работы: Пользователь скрыл имя, 08 Марта 2014 в 18:14, курсовая работа
C++ — это попытка решения разработчиками языка С задач объектно-ориентированного программирования (Object Oriented Programming, OOP). Построенный на твердом фундаменте С, C++ помимо OOP поддерживает множество других полезных инструментов, не жертвуя при этом ни мощью, ни элегантностью, ни гибкостью С. C++ уже стал универсальным языком для программистов всего мира, языком, на котором будет написано следующее поколение высокоэффективного программного обеспечения. Это единственный серьезный язык, который просто обязан знать любой уважающий себя профессиональный программист.
Введение
1. Теоретическая часть
1.1 Объектно –ориентированное программирование
1.2 Объект
1.3 Класс
1.4 Инкапсуляция
1.5 Наследование
1.6 Полиморфизм
2. Практическая часть
2.1 Постановка задачи
2.2 Интерфейс программы
Заключение
Список используемой литературы
СОДЕРЖАНИЕ
Введение
1. Теоретическая часть
1.1 Объектно –ориентированное программирование
1.2 Объект
1.3 Класс
1.4 Инкапсуляция
1.5 Наследование
1.6 Полиморфизм
2. Практическая часть
2.1 Постановка задачи
2.2 Интерфейс программы
Заключение
Список используемой литературы
Приложение. Листинг программы
По мере развития компьютерной техники развивались также и методика, и технология программирования. Сначала возникает командное и операторное программирование, в 1960-х гг. бурно развивается структурное программирование, появляются линии логического и функционального программирования, а в последнее время — объектно-ориентированное и визуальное программирование. Задача, которую следует ставить при первоначальном изучении программирования, — освоение основ структурной методики программирования.
C++ — это попытка решения разработчиками языка С задач объектно-ориентированного программирования (Object Oriented Programming, OOP). Построенный на твердом фундаменте С, C++ помимо OOP поддерживает множество других полезных инструментов, не жертвуя при этом ни мощью, ни элегантностью, ни гибкостью С. C++ уже стал универсальным языком для программистов всего мира, языком, на котором будет написано следующее поколение высокоэффективного программного обеспечения. Это единственный серьезный язык, который просто обязан знать любой уважающий себя профессиональный программист.
Объектно-ориентированное программирование позволяет программисту моделировать объекты определённой предметной области путем программирования их содержания и поведения в пределах класса. Конструкция «класс» обеспечивает механизм инкапсуляции для реализации абстрактных типов данных. Инкапсуляция как бы скрывает и подробности внутренней реализации типов, и внешние операции и функции, допустимые для выполнения над объектами этого типа.
.
I.Теоретическая часть
1.1 Объектно-ориентированное программирование
Объектно-ориентированное программирование (ООП) — парадигма программирования, в которой основными концепциями являются понятия объектов и классов.
Объектное и объектно-ориентированное программирование (ООП) возникло в результате развития идеологии процедурного программирования, где данные и подпрограммы (процедуры, функции) их обработки формально не связаны. Кроме того, в современном объектно-ориентированном программировании часто большое значение имеют понятия события и компонента.
Первым
языком программирования, в котором
были предложены принципы
В
настоящее время количество
Структура данных «класс», представляющая собой объектный тип данных, внешне похожа на типы данных процедурно-ориентированных языков, такие как структура в языке Си. При этом элементы такой структуры (члены класса) могут сами быть не только данными, но и методами (то есть процедурами или функциями). Такое объединение называется инкапсуляцией.
Наличие
инкапсуляции достаточно для
объектности языка
Но
даже наличие инкапсуляции и
наследования не делает язык
программирования в полной
По мнению Алана Кея, создателя
языка Smalltalk, которого считают одним
из «отцов-основателей» ООП, объектно-ориентированный
подход заключается в
Таким образом, программа представляет собой набор объектов, имеющих состояние и поведение. Объекты взаимодействуют посредством сообщений. Естественным образом выстраивается иерархия объектов: программа в целом — это объект, для выполнения своих функций она обращается к входящим в неё объектам, которые, в свою очередь, выполняют запрошенное путём обращения к другим объектам программы. Естественно, чтобы избежать бесконечной рекурсии в обращениях, на каком-то этапе объект трансформирует обращённое к нему сообщение в сообщения к стандартным системным объектам, предоставляемым языком и средой программирования.
Устойчивость
и управляемость системы
1.2 Объект
Объект
в ООП — это сущность, способная
сохранять свое состояние (информацию)
и обеспечивающая набор
Объект
в объектно-ориентированном
1.3 Класс
Класс (class) - это группа данных и методов(функций) для работы с этими данными. Это шаблон. Объекты с одинаковыми свойствами, то есть с одинаковыми наборами переменных состояния и методов, образуют класс.
Структура класса.
Class имя_класса [ от кого унаследован]
{
private:
. . . . . . .
public:
. . . . . . .
protected:
. . . . . . .
}
Класс должен иметь уникальное имя. Если он наследован из другого, то надо указать имя родительского(их) класса(ов). Обычно у класса бывают три раздела: private, public, protected. Указание на начало раздела private часто опускается и, если не объявлено начало ни одного из других разделов описания класса, считается, что данные относятся к разделу private.
Методы в классе могут быть объявлены как дружественные (friend) или виртуальные (virtual). Иногда встречается объявление перегружаемых (overload) функций.
Private(частный)
раздел описания класса обычно
находится вначале описания
Protected(защищенный) - раздел описания
класса содержит данные и
Таким образом, раздел protected используется
для описания данных и методов,
которые будут доступны только
из производных классов. А в
производных классах эти
Раздел public – публичный, открытый раздел. Методы описанные в разделе public доступны в пределах области видимости объекта и для производных классов. Таким образом, можно получить свободный доступ к методам, описанным в разделе public, из любого места программы (объект должен быть виден) и из любого производного класса. Методы, входящие в этот раздел, образуют интерфейс класса, с помощью которого и осуществляется взаимодействие экземпляра класса с внешним миром. Это единственный раздел, доступ к которому из внешней среды никак не ограничен.
Методы (methods)- это функции (процедуры), принадлежащие классу.
Сообщение (message)- это практически тоже самое, что и вызов функций в обычном программировании. В ООП обычно употребляется выражение "послать сообщение" какому-либо объекту. Понятие "сообщение" в ООП можно объяснить с точки зрения основ ООП: мы не можем напрямую изменить состояние объекта и должны как бы послать сообщение объекту, что мы хотим так и так изменить его состояние. Объект сам меняет свое состояние, а мы только его просим об этом посылая сообщения.
1.4 Инкапсуляция
Инкапсуляция - это механизм, который объединяет данные и методы, манипулирующие этими данными, и защищает и то и другое от внешнего вмешательства или неправильного использования. Когда методы и данные объединяются таким способом, создается объект.
Итак, зачем же нам нужна инкапсуляция ? Ответ прост, мы - люди. А человеку свойственно ошибаться. Никто не застрахован от ошибок. Применяя инкапсуляцию, мы, как бы, возводим крепость, которая защищает данные, принадлежащие объекту, от возможных ошибок, которые могут возникнуть при прямом доступе к этим данным. Кроме того, применение этого принципа очень часто помогает локализовать возможные ошибки в коде программы. А это на много упрощает процесс поиска и исправления этих ошибок.
Можно сказать,
что инкапсуляция
Переменные состояния объекта скрыты от внешнего мира. Изменение состояния объекта (его переменных) возможно ТОЛЬКО с помощью его методов(операций).
Это существенно
ограничивает возможность
Хорошим
примером применения принципа
инкапсуляции являются команды
доступа к файлам. Обычно доступ
к данным на диске можно
осуществить только через