Неоднородные Списки

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

Законченная Программа

  7.6.1 Администратор Экрана
  7.6.2 Библиотека Фигур
  7.6.3 Прикладная Программа

Разберем процесс написания программы для рисования на экране геометрических фигур. Она естественным образом разделяется на три части:

[1] Администратор экрана: подпрограммы низкого уровня и структуры данных, определяющие экран; он ведает только точками и прямыми линиями;

[2] Библиотека фигур: набор определений основных фигур вроде прямоугольника и круга и стандартные программы для работы с ними; и

[3] Прикладная программа: множество определений, специализированных для данного приложения, и код, в котором они используются.

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: