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




ВВЕДЕНИЕ

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

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

Целью данного курсового проекта является разработка и реализация программного кода с применением классов встроенного типа данных int и разных типов контейнеров: multimap и list. Для выполнения данного курсового проекта необходимо разработать алгоритм решения, по итогам его реализации получить результат.

Шаги, которые необходимо выполнить для достижения цели курсового проекта:

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

· Создать объект-контейнер в соответствии с вариантом задания и заполнить его данными.

· Просмотреть контейнер.

· Изменить контейнер, удалив из него одни элементы и заменив другие.

· Просмотреть контейнер, используя для доступа к его элементам итераторы.

· Создать второй контейнер этого же класса и заполнить его данными того же типа, что и первый контейнер.

· Изменить первый контейнер, удалив из него n элементов после заданного и добавив затем в него все элементы из второго контейнера.

· Просмотреть первый и второй контейнеры.

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

· Создать объект-контейнер в соответствии с вариантом задания и заполнить его данными.

· Просмотреть контейнер.

· Изменить контейнер, удалив из него одни элементы и заменив другие.

· Просмотреть контейнер, используя для доступа к его элементам итераторы.

· Создать второй контейнер этого же класса и заполнить его данными того же типа, что и первый контейнер.

· Изменить первый контейнер, удалив из него n элементов после заданного и добавив затем в него все элементы из второго контейнера.

· Просмотреть первый и второй контейнеры.

3. Написать программу, которая будет демонстрировать использование алгоритмов STL. Необходимо выполнить следующие действия:

· Создать контейнер, содержащий объекты пользовательского типа. Тип контейнера выбирается в соответствии с вариантом задания.

· Отсортировать его по убыванию элементов.

· Просмотреть контейнер.

· Используя подходящий алгоритм, найти в контейнере элемент, удовлетворяющий заданному условию.

· Переместить элементы, удовлетворяющие заданному условию в другой (предварительно пустой) контейнер. Тип второго контейнера определяется вариантом задания.

· Просмотреть второй контейнер.

· Отсортировать первый и второй контейнеры по возрастанию элементов.

· Просмотреть их.

· Получить третий контейнер путем слияния первых двух.

· Просмотреть третий контейнер.

· Подсчитать, сколько элементов, удовлетворяющих заданному условию, содержит третий контейнер.

· Определить, есть ли в третьем контейнере элемент, удовлетворяющий заданному условию.


 

АНАЛИТИЧЕСКАЯ ЧАСТЬ

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

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

Функции объекта, называемые в C++ методами или функциями-членами, обычно предназначены для доступа к данным объекта. Если необходимо считать какие-либо данные объекта, нужно вызвать соответствующий метод, который выполнит считывание и возвратит требуемое значение. Прямой доступ к данным невозможен. Данные сокрыты от внешнего воздействия, что защищает их от случайного изменения. Говорят, что данные и методы инкапсулированы.

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

Типичная программа на языке C++ состоит из совокупности объектов, взаимодействующих между собой посредством вызова методов друг друга. Объектно-ориентированное программирование никак не связано с процессом выполнения программы, а является лишь способом ее организации. Большая часть операторов C++ идентична операторам процедурных языков, в частности языка С.

Внешне метод класса в C++ очень похож на обычную функцию языка C, и только по контексту программы можно определить, является ли функция частью процедурной С-программы или объектно-ориентированной программы на C++. Когда вы подходите к решению задачи с помощью объектно-ориентированного метода, то вместо проблемы разбиения задачи на функции вы сталкиваетесь с проблемой разбиения ее на объекты. Мышление в терминах объектов оказывается гораздо более простым и наглядным, чем в терминах функций.



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2022-07-08 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: