Файл: История и развитие методологии объектно-ориентированного программирования. Сферы применения (Сущность и история развития объектно-ориентированного программирования).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 29.03.2023

Просмотров: 377

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Введение

Разработка программного обеспечения с основным упором на объекты, а не на процедуры называется – Объектно-ориентированным программированием. Данный аспект дает возможность максимизировать основы модульности и "сокрытия информации". Объектно-ориентированное программирование основывается на коммутировании и инкапсуляции строений данных и операции, которая функционирует с данными в текстуре, с модулем.

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

Задачами данной курсовой работы являются:

-Изучение основных принципов объектно-ориентированного программирования;

-Усвоение теории ООП;

-Изучение история и степени развития ООП;

-Исследование главных тезисов ООП;

-Изучение высказываний об ООП различного вида;

-Практическое освоение основы ООП;

Объектом работы является объектно-ориентированное программирование. Предметом работы является изучение всех принципов и языков высокого уровня объектно-ориентированного программирования.

Довольно нужной книжкой при исследовании объектно-ориентированного программирования оказалась книга Ахо А. В данной книге имелись разнообразные структуры данных, рассмотрены основы деятельность с разными структурами.

Предполагаемая фактическая важность курсовой работы состоит в том, что её можно будет применять в свойстве источника извлечения теоретически использованного материала согласно проблеме «Объектно-ориентированные языки программирования высокого уровня», а кроме того как руководство по проектированию класса с применением основ объектно-ориентированного программирования.


Глава 1. Теоретическая основа объектно-ориентированного
программирования

1.1 Сущность и история развития объектно-ориентированного
программирования

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

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

Развитие частей программирования с объектно-ориентированного программирования произошло, как случилось развитие модульного с процедурного программирования: процедуры сложились в модули - самостоятельные части кодировки вплоть до уровня сборки программы, таким образом объекты сложились в компоненты - самостоятельные доли кодировки до степени выполнения программы. Через сообщения, происходит взаимодействующая работа объектов. Посредствам дальнейшего прогрессивного развития программно-ориентированного программирования является, агентно-ориентированое программирование. В данном виде программирования агенты - независимые части кода, которые находятся на уровне выполнения. Путем изменения среды, в которой содержатся агенты, происходит их взаимодействие. [10]

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

Симула – является самым первым из языков программирования, в структуре, которая была основана на объектной ориентированности. Этот язык программирования появился в 1967 году и сразу же организовал переворот старых, уже сработанных идеи: объекты, классы, виртуальные методы и другие, но это не повлекло за собой масштабного перехода на этот язык. Не смотря на это, большая часть теорий были развиты Аланом Кэйем и Дэном Ингаллсом в языке Smalltalk. Smalltalk стал первым широко распространённым и популярным среди программистов языком объектно-ориентированным программирования.


На данный момент язык программирования, основанные на объектно-ориентированной модели имеют подавляющее преимущества в использовании, относительно других моделей. Модель процедурного программирования используется в сфере системного программирование, и по сей день. А общепринятым языком является язык С. Хотя при взаимодействии системного и прикладного уровней операционных систем заметное влияние стали оказывать языки объектно-ориентированного программирования. Библиотека Qt считается одной из самой распространенной мульти платформенного программирования. Она написана на языке C ++. [1]

1.2 Главные понятия и разновидности

Свойство данных, представляющие собой объектный тип данных, внешне похожа на типы данных процедурно-ориентированных языков, такие как структура в языке С или запись в Паскале или QuickBasic. Данные, как и методы (процедуры или функции) являются элементами данной структуры. Такой комплекс зовется инкапсуляцией.

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

Но даже наличие инкапсуляции и наследования не делает язык программирования в полной мере объектным с точки зрения ООП. Если, язык программирования, созданный полиморфизмом, то только в данном случае возникают главные преимущественные качества объектно-ориентированного программирования. Одним из подвидов объектного программирования является, прототипное программирование. Начало этому подвиду положил язык Self, который, не смотря на то, что соблюдал многие исходные приложения, ввел альтернативное понятие – прототип. Ниже указаны и расписаны главные термины. [15]

Главные термины объектно-ориентированного программирования.

Понятие

Определение

Абстракция

Абстрагирование – это способ выделить набор значимых характеристик объекта, исключая из рассмотрения незначимые. Соответственно, абстракция – это набор всех таких характеристик.

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

Инкапсуляция – это свойство системы, позволяющее объединить данные и методы, работающие с ними, в классе и скрыть детали реализации от пользователя.

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

Наследование – это свойство системы, позволяющее описать новый класс на основе уже существующего с частично или полностью заимствующейся функциональностью. Класс, от которого производится наследование, называется базовым, родительским или суперклассом. Новый класс – потомком, наследником или производным классом.

Полиморфизм

Полиморфизм – это свойство системы использовать объекты с одинаковым интерфейсом без информации о типе и внутренней структуре объекта.


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

Понятию “объект” сопоставляют ряд дополняющих друг друга определений. Ниже приведены некоторые из них.

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

Объект - особый опознаваемый предмет, блок или сущность (реальная или абстрактная), имеющая важное функциональное назначение в данной предметной области.

Объект может быть охарактеризован структурой, его состоянием, поведением и индивидуальностью. Состояние объекта определяется перечнем всех возможных свойств и текущими значениями каждого из этих свойств. Значениями параметров объекта обуславливаются этого свойства объекта. Поведение объекта показывает, в каком состоянии остается объект, после его влияния на другие объекты. Так же состояние других объектов. Действия объекта показывают его поведение. Операция это – конкретное воздействие объекта на другой объект с целью вызвать определенную реакцию. Методами называют операциями, в объектно-ориентированных языках программирования.

Можно выделить пять типов операций:

- конструктор, созидание и распознавание объекта;

- деструктор, рушащий объект;

- модификатор, меняющий структуру объекта;

- селектор для доступа к переменным объекта без их изменения;

- итератор для доступа к содержанию объекта по частям в определенной последовательности.

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

Объекты имеют определённые отношения друг к другу. Данные отношения могут иметь иерархический вид. Отношения использования и включения являются главными отношениями иерархического вида. Отношение использования реализуется посылкой сообщений от объекта A к объекту B. При этом объект A может выступать в роли:

- активного или воздействующего объекта, когда он воздействует на другие объекты, но сам воздействию не подвергается;

- пассивного или исполняющего, когда объект подвергается воздействию, но сам на другие объекты не воздействует;

- посредника, если объект и воздействует и сам подвергается воздействию.


Отношение включения имеет место, когда составной объект содержит другие объекты. [4]

Объекты моделируют свойства и действия компонентов мира, в котором мы проживаем. Они считаются конечной абстракцией данных.

Объекты хранят совместно все без исключения собственные характеристики и характерные черты поведения. Взаимоотношения частей к единому и отношения между элементами станут понятнее тогда, когда все без исключения находится совместно в одной упаковке. Это и называется инкапсуляцией. [18]

Одним из важных фактов является факт наследия объектов свойств и поведения у своих предков. Самым большим различием между обычным программировании на Паскале и объектно-ориентированном программировании в Borland Pascal является – наследие. От этого происходит качественный скачок. В терминах Паскаля, объект во многом схож с записью, которая является оболочкой для объединения нескольких связанных элементов под одним именем.

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

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

Как выявили данные определения, объекты непосредственно объединены с записями. Новейшее зарезервированное слово object считается более явным отличием, однако как мы узнаем позже, существует огромное количество иных отличий, определенные из которых достаточно тонкие. [7]

Экземпляры объектных типов описываются в точности, таким же образом, равно как в Паскале описывается каждая переменная, или постоянная, или указатель, ссылающийся на размещенную в динамической памяти переменную. [20]

При помощи оператора with, либо через уточнения с помощью точки мы можем обратиться к полю объекта в точности так же, как к полю обычной записи. [5]