Студопедия

КАТЕГОРИИ:

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


Виды отношений между объектами.




В поле зрения разработчика ПО, находятся не объекты одиночки, а взаимодействующие объекты. Именно взаимодействие объектов реализует поведение системы.

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

1. один объект вызывает операции другого объекта;

2. один объект перемещает данные к другому объекту.

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

1. актёр – это объект, который может воздействовать на другие объекты, но никогда не подвержен воздействию других объектов.

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

3. агент – объект, который как воздействует на другие объекты, так и подвергается воздействию с их стороны.

Для того, что бы объект А мог послать сообщение объекту В, необходимо, чтобы объект В был виден объекту А.

 

Агрегация – обозначает отношения объектов в иерархии «целое/часть» (‘part of’). Она обеспечивает возможность перемещения от целого к его частям, т. е. свойствам. Агрегация может обозначать физически включение части/целое, а может и не обозначать.

1. Агрегация по величине или композиция. Обозначается линией с закрашенным ромбиком на конце.

 

 

2. Агрегация по ссылке.

 
 

 

 


При выборе вида отношений между объектами должны учитываться следующие факторы:

1. Связи обеспечивают низкое сцепление между объектами.

2. Агрегация инкапсулирует части, как секреты целого.

 

Общая характеристика классов в объектно-ориентированном программировании. Особенности реализации классов в различных объектно-ориентированных языках программирования (Delphi, Java).

Класс – описание множества объектов, которые разделяют одинаковые свойства, операции, отношения и семантику.

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

Различают внутреннее представление класса (реальное) и внешнее представление (интерфейс).

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

 

Класс
Интерфейс: Общедоступный Защищенный Приватный
Реализация

 

 

public

protected

private

 

 

Public – объявление этой части доступно всем.

Protected – объявление этой части доступно только самому классу, его подклассам и «друзьям » класса.

Private - объявление этой части доступно только этому классу или его друзьям. Класс «друг» класс, который имеет доступ ко всем частям этого класса. Реализация класса включает реализацию всех операций, определённых интерфейсе класса.

 

На языке Delphi класс описывается следующим образом:

TMyClass = class(TObject)

private

{Описанные в этой секции элементы не доступны извне (за пределами класса, но доступны в пределах модуля).}

{Здесь обычно находятся поля класса.}

protected

{Описанные в этой секции элементы доступны только классу и всем его потомкам.}

public

{Описанные в этой секции элементы доступны всем.}

published

{Описанные в этой секции элементы доступны всем и отображаются в Object Inspector'e.}

end;

 

TMyClass — имя класса;

class — ключевое слово, начинающее определение класса;

TObject — класс-предок, если есть наследование;

private, protected, public, published — ключевые слова, обозначающие секции областей доступа.

 

Создается экземпляр (объект) класса так:

MyClass := TMyClass.Create;

 

Уничтожается так:

MyClass.Free;

 

 


Поделиться:

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





lektsii.com - Лекции.Ком - 2014-2024 год. (0.006 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты