Главная Контакты


  На сайте

  Java, JavaScript
  Документация Perl
  Документация PHP
  Документация ASP
  Новости сайта
  Flash
  Интернет протоколы
  Apache
  Уроки программирования
  Язык программирования C
 


Объектно-ориентированный подход к созданию программных средств


Свойства класса. Одна (обязательно) свойство класса определяется при создании модуля класса. Это имя модуля класса, а значит, и имя класса. Для создания других свойств класса, значения которых будут характеризовать каждый объект этого типа - экземпляры класса, применяются два способа. Первый из них заключается в создании глобальных (public) переменных в секции общих объявлений. Второй, более сложный и действенный, - это создание закрытых свойств, доступ к которым приобретается с помощью процедур свойств (property procedure), которые автоматически активизируются при каждой смене значений свойств или обращении к свойствам.

Создание свойств класса с помощью глобальных (общедоступных) переменных приводит к появлению открытых свойств. При работе с объектом до сих свойств есть прямой доступ как при чтении, так и при записи значения свойства. Но такая свобода обращения с свойством часто недопустима. Вот полный перечень возможных стратегий при работе со свойствами:
• чтение и запись (Read-Write);
• чтение, запись при первом обращении (Read, Write-once);
• только чтение (Read-only);
• только записи (Write-only);
• ни чтения, ни записи (Not Read - Not Write).
Открытые свойства позволяют реализовать лишь первую стратегию. Для реализации других требуются дополнительные возможности. Такие возможности дает использование специальных процедур-свойств (см. табл. 1.2):
• Property Let позволяет установить новое значение свойства, выполняя операцию Write (присвоение).
• Property Set дополняет предыдущую процедуру, позволяя присвоить объектной переменной (свойства) ссылка на определенный объект.
• Property Get позволяет прочитать значение свойства, выполняя операцию Read.
При реализации первой стратегии (Read - Write) каждая открытая свойство должно иметь пару процедур-свойств Get и Let (Set), которым дается одинаковое имя (это имя является и именем свойства).

Для создания процедур-свойств можно использовать пустые заготовки, автоматически. При работе в IDE они вставляются в модуль командой Tools / Add Procedure, а в окне проекта документа MS Office - командой Insert / Procedure. После этого они заполняются нужным кодом.

В следующем фрагменте кода модуля класса Клиент показано процедуры-свойства, при выполнении которых записывается (заглавные) и возвращается текстовое значение свойства Фамилия:
Private msПризв As String
Public Property Let Фамилия (ПризвищеКл As String)
msПризв = Ucase (ПризвищеКл)
End Property
Public Property Get Фамилия ()
Фамилия = msПризв
End Property

При реализации стратегии Read, Write-once необходимо, чтобы значение свойства было записано только при первом обращении, а после этого - не менялось. В этом случае процедура-свойство Let (Set) должна выполнять проверку, не делалось присвоении свойства какого значения. Например:
Public Property Let Фамилия (Значение As String)
If msПризв = "" Then msПризв = Ucase (Значение)
End Property

Если свойство является переменной типа Variant, то проверить, было предоставлено (присвоено) какое значение этой переменной, можно с помощью функции IsEmpty:
If IsEmpty (<имя переменной>) Then ...,
которая возвращает значение True или False.

Другие статьи по теме:

- Классификация case-средств
- Средства структурного анализа и проектирования систем
- Eclipse
- Понятие языка программирования
- Понятие алгоритма


Голосование:
Чего Вы хотели бы видеть больше на сайте?

Статей, документации
Скриптов
Программ для вебмастера
Я не знаю



Другие голосования

Обмен кнопочками:



Приглашаем Вас обменяться кнопочками! Обращайтесь к администратору.


Новые статьи:


Наши партнеры:





2006-2024 © SMTI.RU
Главная страница | Связаться с нами