Основы разработки программного обеспечения вычислительных систем. Милованов И.В - 39 стр.

UptoLike

39
Рис. 2.9. Структура
представления класса
Итак, между объектами существует два вида отношений связи и аг-
регация. Какое из них выбрать?
При выборе вида отношения должны учитываться следующие фак-
торы:
связи обеспечивают низкое сцепление между объектами;
агрегация инкапсулирует части как секреты целого.
КЛАССЫ
Понятия объекта и класса тесно связаны. Тем не менее существует
важное различие между этими понятиями. Класс это абстракция суще-
ственных характеристик объекта.
ОБЩАЯ ХАРАКТЕРИСТИКА КЛАССОВ
Класс описание множества объектов, которые разделяют одинако-
вые свойства, операции, отношения и семантику (смысл). Любой объект
просто экземпляр класса.
Как показано на рисунке 2.9, различают
внутреннее представление класса (реализацию) и
внешнее представление класса (интерфейс).
Интерфейс объявляет возможности (услуги)
класса, но скрывает его структуру и поведение.
Иными словами, интерфейс демонстрирует
внешнему миру абстракцию класса, его внешний
облик. Интерфейс в основном состоит из объяв-
лений всех операций, применимых к экземплярам
класса. Он может также включать объявления типов, переменных, кон-
стант и исключений, необходимых для полноты данной абстракции.
Интерфейс может быть разделён на 3 части:
1) публичную (public), объявления которой доступны всем кли-
ентам;
2) защищённую (protected), объявления которой доступны только
самому классу, его подклассам и друзьям;
3) приватную (private), объявления которой доступны только само-
му классу и его друзьям.
Другом класса называют класс, который имеет доступ ко всем частям
этого класса (публичной, защищённой и приватной). Иными словами, от
друга у класса нет секретов.
П р и м е ч а н и е. Другом класса может быть и свободная подпрограмма.
Реализация класса описывает секреты поведения класса. Она вклю-
чает реализации всех операций, определённых в интерфейсе класса.