Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы на экзаменационные вопросы.doc
Скачиваний:
110
Добавлен:
01.05.2014
Размер:
583.17 Кб
Скачать

Классы объектов

Концептуальная модель класса

1. Класс может быть определен двумя способами:

- Перечисление (определение) объектов, имеющих одинаковый набор свойств..

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

2. Класс как модель является абстрактным типом данных, содержащим описание атрибутов и методов.

3. Класс обязательно должен иметь имя.

4. Между классом и объектом класса определено отношение «быть объектом класса».

5. Класс содержит средства создания объектов этого класса. Таки средств может быть несколько, т.к. объекты могут создаваться в разных условиях.

6. Набор действий, которые могут быть выполнены с объектом класса, задаются методами. Методы класса на каком-либо этапе могут не содержать деталей, но должны содержать смысл действий.

7. Свойства атрибутов и методов должны соответствовать набору, изложенному в 2.1.

8. Класс содержит средства уничтожения объектов.

7. Концепция языка UML. Графическое представление класса на языке UML

UML. Графическое изображение классов.

1. Основной сущностью является класс. Изображается прямоугольником.

2. Язык обладает средствами контролируемого управления введения новых изображений. Это стереотип.

Формат стереотипа:

<< текст >>

- смысл стереотипа

Пример:

<< Имя класса>> или <<Имя класса>> ТОЧКА

ТОЧКА

Для задания нового изображения нужно употребить стереотип, а потом указать его значение.

3. Для пояснения используется символ.

4. Стереотип, вводящий понятие, используется только 1 раз. Далее используется только понятие.

5. Понятие зависимости.

Зависимость – отношение между сущностями, при котором изменение в семантике 1-го элемента может влиять на семантику другого элемента.

Изображение зависимости

Двунаправленная зависимость

Однонаправленная зависимость. Стрелка показывает от зависимого.

Пример:

6. Структура класса изображается разделением изображения класса на горизонтальные части.

8. Инкапсуляция атрибутов и методов в классе объектов

Инкапсуляция атрибутов и методов класса

Понятие инкапсуляции

1. Инкапсуляция в ООП – сосредоточение и сокрытие атрибутов и методов в классе или объекте. Можно осуществлять на 2-х уровнях – класса и объекта.

2. Смысл: инкапсуляция означает, что реализация атрибутов и методов скрыта от пользователя объекта или класса.

3. Цель: организовать доступ пользователя к атрибутам и методам так, чтобы предотвратить несанкционированное использование.

4. Инкапсуляция является развитием принципа модульности в построении ПО.

6. Защита от ошибок программиста заключается в неразрешенных объектах, способах использования методов (атрибутов).

7. Сокрытие позволяет программисту изменять реализацию класса, не изменяя его возможностей для пользователя (не менять интерфейс).

8. Развитие методов модульного программирования.

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

10. 2 уровня защиты:

- к переменной определенного типа нельзя применять действия, непредусмотренные этим типом;

- правила видимости типов;

Скрывать можно и атрибуты, и методы.

Инкапсуляция модели ООП

1. Сосредоточение атрибутов и методов в объекте или классе осуществляется размещением методов и атрибутов в частях класса.

2. сокрытие атрибутов и методов осуществляется введением правил видимости для атрибутов и методов в объекте или классе.

3. концептуальная модель ООП предполагает 2 области видимости:

- методы видны для всех пользователей класса

- методы видны только для объектов данного класса

В общем случае методы могут быть:

- методами объекта, для которого вызван метод

- атрибутами дружественного объекта того же класса

Пример:

Класс Точка

Атрибуты: целый Х, целый У.

Методы:

Переместить в точку (точка Q)

{

x=Q.x

y=Q.y

};

4. Правило 2 допускает 2 толкования:

1) Атрибуты класса видимы в телах всех методов класса, включая методы того объекта, для которого вызван метод.

Пример1:

Класс Точка

Атрибуты: целый Х, целый У.

Методы:

Переместить в точку (точка Q)

/* атрибут того объекта, для которого будет вызван этот метод */

2) Атрибуты класса видимы только в телах методов того объекта, для которого вызван метод.

Пример2:

Класс Точка

Атрибуты: целый Х, целый У.

Методы:

Целый ПолучитьХ();

Целый ПолучитьУ();

Переместить в точку (точка Q)

{

X=Q.ПолучитьХ();

Y=Q.ПолучитьУ();

};

5. Два указанных толкования породили 2 направления развития ОО языков. Толкование 1) породило направление, в котором область видимости атрибута – весь класс (симула). Толкование 2) породило направление, где областью видимости является объект, т.е. атрибуты класса видимы только объекту, для которого вызваны (small tolk)

6. В концептуальной модели ООП интерфейс класса образуют все методы класса.

UML – графическое представление инкапсуляции

1. Сосредоточение атрибутов и методов в классе реализуется в UML размещением атрибутов ми методов в предписанных частях.

2. Имя класса должно быть всегда. Остальные секции могут отсутствовать.

3. Сокрытие достигается размещением перед атрибутами или методами уровня доступа:

+ открытый

- закрытый

# защищенный

9. Агрегация и композиция в классах объектов