Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Соединение подпрограмм с данными



Рассмотренный пример демонстрирует типичный сценарий для случая не-объектого подхода к программированию. Здесь данные, запись Rbook, определены независимо от подпрограмм, которые оперируют с этими данными: Initialize и GetIndex. Ничего в способе определения этих объектов не помогает обнаружить связь между программой и данными. Нам остается лишь догадываться, какие подпрограммы работают вместе с этими элементами данных.

Другая часть проблемы с записью Rbook состоит в том, что ее определение “открыто” и ее детали подвержены всем видам “злоупотреблений”. Например, ничто не может помешать кому-либо присвоить значение ‘Ivanov’ полю Publishing.

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

Поскольку обе подпрограммы, Initialize и GetIndex, явно предназначены для работы с переменными типа Rbook (это видно из реализации этих программ), будет излишним каждый раз указывать, что только экземпляры типа Rbook могут обрабатываться этими двумя подпрограммами.

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

Объектно-ориентированный подход определяет, что подпрограммы и данные, с которыми они оперируют, тесно связаны между собой. Объектно-ориентированная парадигма объединяет данные с соответствующей программой, которая оперирует с этими данными, и, таким образом, создает единое цельное образование: ОБЪЕКТ.





Дата публикования: 2014-11-03; Прочитано: 328 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...