Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
мини конспект по ООП.doc
Скачиваний:
34
Добавлен:
25.03.2015
Размер:
241.66 Кб
Скачать

Конспект по "Объектно-ориентированному программированию".

1. Что такое объект? Понятия "состояние" и "поведение"?

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

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

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

2. Понятия "интерфейс" и "реализация"?

Объект можно условно разделить на две части:

интерфейс (interface)– внешний образ, наблюдаемый пользователем объекта, и описывающий, как объект взаимодействует с внешним миром;

реализацию (implementation)– внутренний образ, определяющий, как достигается выполнение обязанностей, заявленных в интерфейсной части.

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

3. Понятия "класс" и "абстрактный тип данных"?

Класс– это абстрактное описание ряда похожих объектов, имеющих общую структуру и поведение, т. е. класс определяет новый тип данных, который называется абстрактным типом данных (АТД).

Абстрактный тип данных (АТД)– это совокупность данных вместе с множеством операций, которые можно выполнять над этими данными.

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

4. Основные категории классов?

Следующие категории охватывают большую часть классов:

1) классы-администраторы данных (Data Manager), часто получающие имена Data или State – это классы, основная обязанность которых – поддержка данных или информации о состоянии чего-либо.

2) классы-источники данных (Data Sources) – это классы, которые генерируют данные, например, случайные числа;

3) классы-посредники в передаче данных (Data Sinks) – служат для приема и дальнейшей передачи данных (например, запись в файл).

В отличие от администраторов данных, источники и посредники не хранят данные внутри себя в течение определенного времени, но генерируют их по запросу (источники) или обрабатывают их при вызове (посредники);

4) классы для просмотра данных (View или Observer) незаменимы практически в любом приложении. Все программы осуществляют вывод информации, как минимум, на экран. Соответствующие программный код нередко оказывается сложным, часто модифицируется и в значительной степени не зависит от выводимых данных.

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

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

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

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

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