бы для описания объекта. Причем описание должно быть очень точным, чтобы не
возникло ошибочное представление о другом объекте.
То же относится и к программированию. Например, для использования
текстового окна (TextBox) не нужно разрабатывать специальный драйвер
графической карты. Вы просто используете объект класса TextBox. Этот
абстрагированный объект содержит все, что нужно для редактирования текста в
Windows.
Если вы создаете собственное приложение, то большую помощь при этом окажут
собственные объекты. В исходном коде вы используете программное представление
таких объектов, как фирмы, служащие, овары, счета и многое другое. Такой
способ рассмотрения больше соответствует реальности, чем при чисто
процедурной разработке приложений.
4.2 Инкапсуляция
Объекты позволяют значительно упростить разработку приложения. В очень
редких случаях разработчика интересует внутренняя реализация объектов.
Главное, чтобы объект обеспечивал функции, которые он должен предоставить.
Поэтому объекты защищены от внешнего вмешательства. Например, если вы хотите
снять деньги со счета через банкомат, то без карточки это невозможно, так как
его содержимое защищено от доступа случайного клиента. Денежные автоматы
защищены - инкапсулированы. На процессы, протекающие внутри банкомата, и на
его содержимое клиент не имеет прямого влияния.
Взаимодействие клиента с объектом происходит через интерфейс. Обычно
интерфейс определяет единственный способ входа в объект и выхода из него;
детали реализации остаются инкапсулированными.
При создании собственных объектов необходимо организовать такие же
интерфейсы. В объектах Visual Basic интерфейсами являются свойства, методы и
события. Только они предоставляются данным объектом в распоряжение других
объектов. Благодаря этому система программирования предотвращает доступ
других объектов (клиентов) к внутренним переменным состояния объекта, которые
могут обрабатываться только предусмотренными для этого процедурами.
Это имеет большое значение при сопровождении программы. Если в связи с
изменившимися обстоятельствами потребуется изменить реализацию интерфейса
объекта, то изменение ограничится только процедурой, относящейся к свойству
или методу. Если синтаксис интерфейса не изменился, то можно с уверенностью
сказать, что изменение не отразится на других проектах, использующих этот
объект. В противном случае при попытке использовать переменную, которая не
существует в новом варианте объекта, в других проектах может возникнуть
ошибка.
Инкапсуляция поддерживает абстрагирование тем, что объект можно
использовать, не зная, как он реализован внутри. Если программист
поддерживает определенны интерфейс, то инкапсуляцию можно обеспечить и при
процедурном построении программы. В объектно-ориентированных языках
реализация инкапсуляции обеспечивается системой программирования.
4.3 Наследование
Наследованием мы называем повторное использование уже созданной части кода
в других проектах. Посредством наследования формируются связи между
объектами, а для выражения процесса используют понятия о родителях и
потомках. В программировании наследование моделирует связь «это – является»
или «это – имеет». Наследование служит для сокращения избыточности кода и
суть его заключается в том, что уже существующий интерфейс вместе с его
программной частью можно использовать для других объектов. При наследовании
могут также проводиться изменения интерфейсов.