Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Основные элементы объектной модели.





К основным понятиям ООП относят: объект, класс, атрибут, операция, интерфейс, компонент, связь.

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

Любой объект обладает состоянием, поведением и индивидуальностью.

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

Состояние объекта характеризуется перечнем всевозможных статических свойств данного объекта и текущими значениями (динамическими) каждого из этих свойств. Состояние объекта определяется значениями его свойств (атрибутов) и связями с другими объектами.

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

Каждый объект обладает индивидуальностью. Индивидуальность – свойство объекта, отличающее его от других объектов. Структура и поведение схожих объектов определяют общий для них класс.

Замечание: термины «экземпляр класса» и «объект» являются синонимами.

В нотации языка UML объекты и классы отображаются в следующем виде:

Студент 33 группы

имя объекта

: студент

имя класса

Студент 33 группы: студент

имя объекта и класса

Класс – множество объектов, связанных общностью свойств, поведением, связями и семантикой.

Класс объединяет в себе атрибуты и операции.

Класс в нотации языка UML расширенно определяется следующим образом:

: студент
Пол: string=ж Рост: integer Возраст: integer +СП: boolean
 
: студент
Пол: string=м Рост: integer Возраст: integer +СП: boolean
Имя f (…): тип Хождение в военкомат

 

 
 

 


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

Замечание: аналогичным образом (графически) вводится объект (экземпляр класса).

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

Так как атрибуты содержатся внутри класса, они скрыты от других классов, однако может потребоваться указать, какие классы имеют право читать и изменять атрибуты. Это свойство называется видимостью атрибутов.

У атрибута можно выделить 3 возможных значения: открытая, закрытая и защищенная секции.

Public (открытый) – это значение видимости атрибута предполагает, что данный атрибут и его значения будут видно всем остальным классам, с которыми есть связь. Любой такой класс может просмотреть или изменить значение атрибута.

В нотации языка UML открытый (доступный) атрибут отображается символом «+».

Private (закрытый) – значение этого атрибута не может изменяться другим классом посредством взаимодействия.

Замечание: при этом взаимодействующие классы могут попросить класс изменить атрибуты…

Protected (защищенный) – такой атрибут доступен только самому классу и его потомкам в иерархии наследования. для защищенного атрибута используется знак #.

Замечание: в общем случае атрибуты следует делать закрытыми или защищенными. В этом случае удается избежать ситуаций изменения атрибутов класса другими классами, связанными с ним.

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

Операция – это реализация услуги, которую можно запросить у любого объекта данного класса.

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

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

Пример: эллипс и окружность.

В нотации языка UML операция выглядит следующим образом: имя_операции (аргумент_1: тип_аргумента_1; …): тип_возвращаемого_значения.

Одним из важнейших понятий ООП является понятие «полиморфизма».

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

Интерфейс – совокупность операций, определяющих набор услуг класса или компонентов.

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

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

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

Между элементами объектной модели существуют различные виды связей. В качестве основных типов связей выделяют: ассоциации, зависимости и обобщения.

Ассоциация – семантическая (смысловая) связь между классами. Данный вид связи присутствует, как правило, на диаграмме классов и изображается в виде обыкновенной линии, соединяющей 2 класса.

Студент
 
Преподаватель
 
 

обучает

Ассоциация отражает структурные связи между объектами различных классов.

 







Дата добавления: 2015-09-15; просмотров: 1016. Нарушение авторских прав; Мы поможем в написании вашей работы!




Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...


Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...


Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...


Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...

ФАКТОРЫ, ВЛИЯЮЩИЕ НА ИЗНОС ДЕТАЛЕЙ, И МЕТОДЫ СНИЖЕНИИ СКОРОСТИ ИЗНАШИВАНИЯ Кроме названных причин разрушений и износов, знание которых можно использовать в системе технического обслуживания и ремонта машин для повышения их долговечности, немаловажное значение имеют знания о причинах разрушения деталей в результате старения...

Различие эмпиризма и рационализма Родоначальником эмпиризма стал английский философ Ф. Бэкон. Основной тезис эмпиризма гласит: в разуме нет ничего такого...

Индекс гингивита (PMA) (Schour, Massler, 1948) Для оценки тяжести гингивита (а в последующем и ре­гистрации динамики процесса) используют папиллярно-маргинально-альвеолярный индекс (РМА)...

Упражнение Джеффа. Это список вопросов или утверждений, отвечая на которые участник может раскрыть свой внутренний мир перед другими участниками и узнать о других участниках больше...

Влияние первой русской революции 1905-1907 гг. на Казахстан. Революция в России (1905-1907 гг.), дала первый толчок политическому пробуждению трудящихся Казахстана, развитию национально-освободительного рабочего движения против гнета. В Казахстане, находившемся далеко от политических центров Российской империи...

Виды сухожильных швов После выделения культи сухожилия и эвакуации гематомы приступают к восстановлению целостности сухожилия...

Studopedia.info - Студопедия - 2014-2025 год . (0.012 сек.) русская версия | украинская версия