Основы офисного программирования и язык VBA

       

Сокрытие свойств


Возникает вопрос, почему свойства объявлены с описателем Private, а не Public Заметьте, таким же образом мы описывали свойства и в классе "Личность". Такова общепринятая практика объектно-ориентированного программирования. Если бы свойства имели атрибут Public, - были бы открытыми, тогда при работе с объектом, можно было бы иметь к ним прямой доступ, как при чтении, так и записи. Но такая свобода, как правило, недопустима. Вот возможные стратегии при работе со свойствами:

  • Чтение, запись (Read - Write).
  • Чтение, запись при первом обращении (Read, Write-once).
  • Только чтение (Read-only).
  • Только запись (Write-only).
  • Ни чтение, ни запись (Not Read -Not Write), - свойство закрыто.

Открытость свойств не позволяет реализовать только первую из стратегий. В нашем примере с классом Rational открытость свойств недопустима, поскольку числитель и знаменатель преобразуются скрытым от внешнего пользователя способом, позволяющим всегда задавать единственного представителя рационального числа.

При задании свойств делайте их закрытыми.

Для доступа к закрытым свойствам и реализации перечисленных выше стратегий работы с ними предложены специальные методы - свойства Property Let, Set и Get, примеры их мы видели в классе "Личность", а подробный разговор еще предстоит.



Содержание раздела