Информатика и технология программирования


Программа как система взаимодействующих объектов


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

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

Но при использовании динамических объектов возникает другая проблема : как объекты " будут знать" о существовании друг друга, как реализовать в программе универсальные средства, которые будут поддерживать взаимодействие объектов вне зависимости от их количества. Ответ состоит из двух рекомендаций :



-в программе необходима интегрирующая структура данных, которая объединяет все ее объекты, независимо от их класса, времени и места их создания ;




Начало  Назад  Вперед



Книжный магазин