Добавлен: 09.11.2023
Просмотров: 25
Скачиваний: 2
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Курсовая работа 1 курса на тему: Объектно-ориентированное программирование
Разделы:
1. Введение
2. Объектно-ориентированное программирование. Сущность, характеристики
3. Основные понятия объектно-ориентированного программирования
4. Классы
5. Наследование
6. Инкапсуляция
7. Полиморфизм
8. Заключение
9. Список использованной литературы
-
Введение:
Объектно-ориентированное программирование – это мощный подход к созданию широкого спектра программных продуктов. Он отличается высокой читаемостью, многократным использованием и удобством сопровождения кода. В данной курсовой работе будет рассмотрена тема объектно-ориентированного программирования, исследованы основные принципы, понятия и технологии.
Сейчас большинство организаций работает с информационными технологиями. Использование специальных информационных систем, которые можно создавать как стандартные, так и на заказ, значительно упрощает работу сотрудников организации. Такие системы позволяют быстро и точно обрабатывать, изменять, удалять и архивировать информацию, что увеличивает оперативность и эффективность работы.
Для создания программных систем были разработаны различные методики, которые постоянно совершенствуются. Некоторые из них были созданы внутри крупных промышленных организаций, например, Министерства Обороны США. Сегодня наиболее распространены три подхода к проектированию информационной системы: структурный, процессный и объектно-ориентированный.
Структурный подход основывается на разбиении задачи на подзадачи и последовательном их выполнении. Процессный подход ориентирован на бизнес-процессы, которые происходят в организации. Объектно-ориентированный подход основывается на выделении компонентов, которые являются объектами или субъектами действий. При этом каждый объект имеет свое поведение и моделирует некоторый объект реального мира.
Выбор методики зависит от конкретных задач и особенностей организации, но объектно-ориентированный подход считается наиболее универсальным и популярным.
Цель данного исследования заключается в изучении основных понятий объектно-ориентированного программирования. Для достижения этой цели необходимо выполнить следующие задачи в контексте ООП:
-
рассмотреть сущность объектно-ориентированного программирования -
описать основные характеристики этого подхода -
проанализировать понятие "классы" -
охарактеризовать "наследование" -
рассмотреть понятие "инкапсуляция" -
дать анализ понятию "полиморфизм".
Работа состоит из 9 разделов. В каждом разделе будет исследована и раскрыта отдельная тема Объектно-ориентированного программирования. В работу также включены содержание, введение, заключение и список использованной литературы.
-
Объектно-ориентированное программирование. Сущность, характеристики:
Объектно-ориентированное программирование (ООП) - это подход к программированию, который основывается на представлении программы в виде набора объектов, каждый из которых имеет свои свойства и методы. В ООП программа рассматривается как набор дискретных объектов, которые взаимодействуют друг с другом, передавая информацию и вызывая методы других объектов.
ООП позволяет создавать более гибкие и масштабируемые программы, так как объекты могут быть повторно использованы в разных частях программы и могут быть созданы новые объекты на основе уже существующих. ООП также позволяет упростить процесс разработки программы, так как объекты могут быть разработаны независимо друг от друга и затем объединены в единую программу.
В ООП программисты могут создавать объекты, которые представляют реальные объекты, с которыми работает пользователь. Например, в программе для управления банковским счетом можно создать объект "счет", который будет содержать информацию о балансе, номере счета и других свойствах. Также можно создать объекты "клиент" и "банк", которые будут содержать информацию о клиентах и банке соответственно.
Каждый объект в ООП имеет свое поведение. Поведение или функционирование объекта в ООП - это способ, с помощью которого объекты взаимодействуют друг с другом и с окружающей средой. Поведение объекта определяется его методами. Методы объекта - это функции, которые определяют, как объект будет взаимодействовать с другими объектами и с окружающей средой.
Поведение объекта может быть изменено в связи с изменением его состояния. Состояние объекта - это набор значений его свойств в определенный момент времени. Изменение состояния объекта может привести к изменению его поведения.
Объекты в ООП - это экземпляры классов, созданные на основе определенного шаблона класса.
Объекты в ООП также могут быть связаны друг с другом. Например, если объект представляет собой банковский счет, он может быть связан с другим объектом - банковским счетом получателя, чтобы осуществить перевод денег.
Объекты в ООП представляют собой основной инструмент для моделирования реального мира в программировании. Они позволяют создавать более гибкие и эффективные программы, которые могут взаимодействовать с окружающей средой и другими объектами.
Концептуальная основа объектно-ориентированного подхода - это объектная модель, которая содержит множество понятий и концепций, включая объекты, атрибуты, классы, экземпляры и многие другие. Среди основных понятий объектной модели можно выделить объекты и атрибуты, целое и часть, классы и экземпляры.
Объект - это осязаемая реальность, такая как предмет или явление, которое обладает четко определенным поведением. Состояние, поведение, индивидуальность, структура и поведение объектов определяют общий для них класс. Объекты также могут иметь атрибуты, которые определяют их свойства.
Состояние объекта определяется перечнем всех возможных свойств данного объекта и текущими значениями каждого из этих свойств. Поведение объекта может воздействовать на другие объекты и изменять их состояние, либо передавать сообщения. Поведение объекта полностью можно определить его действиями.
Методы в объектных и объектно-ориентированных языках обычно понимаются как операции, которые выполняются над данным объектом. Они являются составной частью определения класса, который определяет поведение объектов этого класса.
Данные понятия являются важными для понимания объектно-ориентированного подхода и использования его в программировании. Кроме того, они могут быть использованы для создания более эффективных и гибких программных систем.
Создание объекта в ООП происходит с помощью конструктор класса. Конструктор - это метод класса, который инициализирует свойства объекта.
Объекты в ООП имеют три основных свойства: состояние, поведение и идентичность.
Свойства состояния, поведения и идентичности являются основными в объектно-ориентированном программировании и оказывают значительное влияние на разработку программных систем. Рассмотрим их влияние подробнее:
-
Состояние (state) - это свойство объекта, которое определяет его текущее состояние. Состояние может быть изменено в результате выполнения методов объекта. Состояние объекта может быть использовано для определения его поведения и идентичности. -
Поведение (behavior) - это свойство объекта, которое определяет действия, которые он может выполнить. Поведение объекта определяется его методами. Методы объекта могут изменять его состояние и взаимодействовать с другими объектами. Поведение объекта может быть использовано для определения его идентичности. -
Идентичность (identity) - это свойство объекта, которое определяет его уникальность в системе. Идентичность объекта определяется его состоянием и поведением. Два объекта могут иметь одинаковое состояние и поведение, но они будут разными объектами, если они имеют разную идентичность. Идентичность объекта может быть использована для определения его уникальности в системе.
Свойства состояния, поведения и идентичности имеют важное значение в объектно-ориентированном программировании и оказывают влияние на разработку программных систем. Они позволяют определять уникальность объектов, их состояние и поведение, что облегчает разработку и поддержку программных систем.
Так же к основным составляющим в объектно-ориентированном программировании, можно выделить несколько важных пунктов:
-
Унифицированный процесс - это методология, которая описывает общий процесс разработки программного обеспечения в объектно-ориентированном стиле. Он обычно состоит из нескольких этапов, таких как управление требованиями, анализ, проектирование, реализация, тестирование и поддержка. Унифицированный процесс подразумевает систематический подход к разработке программного обеспечения на основе объектно-ориентированного подхода. -
Унифицированный язык моделирования (UML) - это графический язык, который используется для моделирования объектно-ориентированных систем. Он позволяет разработчикам создавать диаграммы, которые описывают архитектуру и поведение системы. UML включает в себя широкий спектр диаграмм, таких как диаграммы классов, диаграммы объектов, диаграммы взаимодействия и другие. -
Шаблоны проектирования - это повторно используемые решения для типичных задач в объектно-ориентированном программировании. Шаблоны проектирования помогают разработчикам создавать гибкие, расширяемые и легко поддерживаемые системы. Они могут быть использованы для решения таких задач, как создание графических интерфейсов пользователя, реализация многопоточности, управление состоянием объектов и другие.
Эти три основных составляющих объектно-ориентированного подхода помогают разработчикам создавать сложные системы, которые могут быть легко поняты, изменены и использованы. Унифицированный процесс обеспечивает организацию процесса разработки, UML позволяет описывать структуру и поведение системы, а шаблоны проектирования помогают решать типичные проблемы разработки. Каждая из этих составляющих важна для создания качественного программного обеспечения в объектно-ориентированном стиле.
Объектно-ориентированный подход в разработке программного обеспечения основывается на систематическом применении моделей для языково-независимой разработки программной системы. ООП использует концепции объектов, классов, наследования, инкапсуляции и полиморфизма для создания программного обеспечения,
которое легко поддерживать, расширять и модифицировать.
Для создания программной системы на основе объектно-ориентированного подхода необходимо разработать модель, которая отображает функциональные и нефункциональные требования к системе. Модель может быть создана с помощью различных методов, таких как UML (Unified Modeling Language), BPMN (Business Process Model and Notation) и других. Модель должна быть языково-независимой, чтобы ее можно было использовать для разработки программного обеспечения на любом языке программирования.
После создания модели необходимо создать программную систему, используя объекты и классы, определенные в модели. Это позволяет разработчикам создавать более понятный и гибкий код, который легко поддерживать и модифицировать. Например, если требования к системе изменятся, можно легко добавить новые классы и методы, чтобы отразить эти изменения.
Объектно-ориентированный подход также позволяет улучшить качество программного обеспечения, так как объектно-ориентированные системы обычно имеют меньше ошибок и более простую структуру. Это позволяет ускорить процесс разработки и снизить затраты на тестирование и сопровождение программного обеспечения.
Таким образом, объектно-ориентированный подход основывается на систематическом применении моделей для языково-независимой разработки программной системы, на основе ее прагматики.
Прагматика в объектно-ориентированном программировании относится к практическому применению концепций ООП для решения реальных проблем. Она включает в себя использование объектов, классов, наследования, инкапсуляции, полиморфизма и других концепций ООП для создания программного обеспечения, которое легко поддерживать, расширять и модифицировать.
Основные принципы прагматики в ООП включают в себя следующее:
1. Разделение ответственности (Single Responsibility Principle) - каждый класс должен иметь только одну ответственность. Это позволяет сделать классы более понятными, упрощает их тестирование и обеспечивает более гибкую систему.
2. Открытость/закрытость (Open/Closed Principle) - классы должны быть открыты для расширения, но закрыты для изменения. Это означает, что изменения в системе должны быть выполнены через добавление новых классов