Инкапсуляция
МЕТОДИКА ОБЪЕКТНО-ОРИЕНТИРОВАННОГО ПРОЕКТИРОВАНИЯ
Существуют различные объектно-ориентированные технологии и методики проектирования программных продуктов, которые должны обеспечить выполнение важнейших принципов объектного подхода:
- инкапсуляция (замыкание) свойств данных и программ в объекте;
- наследование;
- полиморфизм.
Инкапсуляция означает сочетание структур данных с методами их обработки в абстрактных типах данных - классах объектов.
Класс может иметь образованные от него подклассы. При построении подклассов осуществляется наследование данных и методов обработки объектов исходного класса. Механизм наследования позволяет переопределить или добавить новые данные и методы их обработки, создать иерархию классов.
Полиморфизм - способность объекта реагировать на запрос (вызов метода) сообразно своему типу, при этом одно и то же имя метода может использоваться для различных классов объектов.
Для различных методик объектно-ориентированного проектирования характерны следующие черты:
- объект описывается как модель некоторой сущности реального мира;
- объекты, для которых определены места хранения, рассматриваются во взаимосвязи, и применительно к ним создаются программные модули системы.
В процессе объектно-ориентированного анализа:
- осуществляется идентификация объектов и их свойств;
- устанавливается перечень операций (методов обработки), выполняемых над каждым объектом, в зависимости от его состояния (событий);
- определяются связи между объектами для образования классов;
- устанавливаются требования к интерфейсу с объектами.
Выделено четыре этапа объектно-ориентированного проектирования:
- разработка диаграммы аппаратных средств системы обработки данных, показывающей процессоры, внешние устройства, вычислительные сети и их соединения;
- разработка структуры классов, описывающей связь между классами и объектами;
- разработка диаграмм объектов, показывающих взаимосвязи с другими объектами;
разработка внутренней структуры программного продукта.
Под инкапсуляцией понимается скрытие полей объекта с целью обеспечения доступа к ним только посредством методов класса.
В языке Delphi ограничение доступа к полям объекта реализуется при помощи свойств объекта. Свойство объекта характеризуется полем, сохраняющим значение свойства, и двумя методами, обеспечивающими доступ к полю свойства. Метод установки значения свойства называется методом записи свойства (write), а метод получения значения свойства — методом чтения свойства (read).
В описании класса перед именем свойства записывают слово property (свойство). После имени свойства указывается его тип, затем — имена методов, обеспечивающих доступ к значению свойства. После слова read указывается имя метода, обеспечивающего чтение свойства, после слова write — имя метода, отвечающего за запись свойства.
Ниже приведен пример описания класса TPerson, содержащего два свойства: Name И Address.