Главная » Разработка для Android » Получатели и установщики – JAVA ДЛЯ ANDROID

0

 

Простая и при этом распространенная форма инкапсуляции в Java связана с использованием методов-получателей (getter) и методов-установщиков (setter). Рассмотрим упрощенное определение класса Contact:

При таком определении внешние объекты должны получать доступ к полям класса напрямую. Например:

Попользовавшись таким кодом на практике самую малость, вы обнаружите, что у контактов, оказывается, бывает по нескольку адресов электронной почты. К сожалению, для реализации многоадресности в упрощенной реализации кода потребуется обновить каждую отдельную ссылку так, чтобы она приобрела вид Contact. email, и так во всей программе.

Для сравнения рассмотрим следующий класс:

Применяя модификатор доступа private, мы закрываем непосредственный доступ к полям данной версии класса Contact. Применяя общедоступные (publіс) методы-получатели, разработчик может изменять способы, которыми объект Contact возвращает имя, возраст или адрес электронной почты, относящийся к Contact. Например, адрес электронной почты может сохраняться отдельно (как в предыдущем коде) или составляться из соединенных имени пользователя и хост-имени, если в конкретном приложении такой вариант окажется более удобным. Внутри системы возраст может сохраняться в виде іnt или Integer. Класс можно дополнить для поддержки множественных адресов электронной почты, совершенно не изменяя какой-либо клиент.

Java позволяет использовать прямые ссылки на поля и не допускает, подобно некоторым другим языкам, автоматического обертывания ссылок на поля в методах-получателях и методах-установщиках. Для сохранения инкапсуляции необходимо самостоятельно определять каждый метод доступа. В большинстве интегрированных сред разработки предоставляются функции генерирования кода, решающие такие задачи быстро и точно.

Методы-получатели и методы-установщики, используемые в качестве оберток, обеспечивают гибкость кода на дальнейших этапах работы. В свою очередь, прямой доступ к полям означает, что весь код, использующий поле, придется менять, если изменится тип этого поля или если поле исчезнет. Методы-получатели и методы-установщики – это простые инструменты, обеспечивающие инкапсуляцию объекта. Есть отличное практическое правило, рекомендующее делать все поля либо private, либо final. В хорошо написанных программах Java применяется не только такая форма, но и другие более изощренные формы инкапсуляции, помогающие сохранять способность к адаптации даже в сравнительно сложных программах.

Источник: Android. Программирование на Java для нового поколения мобильных устройств

По теме:

  • Комментарии