назад | содержание | вперед
Добавление свойств класса
Для добавления свойств в созданный модуль класса можно воспользоваться глобальными переменными или процедурами установки и чтения свойств. Сначала рассмотрим добавление свойств с помощью глобальных переменных. Введите в модуль класса текст кода, указанный ниже:
' Свойства объектов класса
Public nDepCode As Integer
Public nDepParentCode As Integer
Public sDepName As String
Public sDepManager As String
Public nSalary As Currency
Public nAddSalary As Currency
Для проверки работы свойств объекта класса cIsDepartment необходимо установить значения этих свойств с помощью указанного ниже кода. Сделать это можно в любом требуемом месте приложения. В данном случае выполним это при загрузке формы в память, то есть по событию Load формы frmMyClass Приложения MyClass:
Private Sub Form_Load()
objDep.nDepCode = 12
objDep.nDepParentCode = 1
objDep.sDepName = "Общий отдел"
objDep.sDepManager = "Петров Иван Иванович"
objDep.nSalary = 1200
objDep.nAddSalary = 12
End Sub
Для просмотра свойств объекта добавьте в форму frmMyClass кнопку типа commandButton и для размещения надписи кнопки введите Сведения об обьекте. Наименование кнопки можно не менять. Форма примет вид, показанный на рис. 15.2. Затем добавьте для этой кнопки следующий код:
Private Sub Commandl_Click()
sSayAboutObj = "Код подразделения: " + Str(objDep.nDepCode) + Chr(lO)
sSayAboutObj = sSayAboutObj + "Наименование подразделения: " + objDep.sDepName + Chr(lO)
sSayAboutObj = sSayAboutObj + "Руководитель: " + objDep.sDepManager
'Вывод в окно сообщения
MsgBox sSayAboutObj,, "Сведения об объекте"
End Sub
Рис. 15.2. Форма для проверки свойств объекта класса с Is Department
При загрузке формы назначаются свойства объекта, которые затем можно посмотреть с помощью кнопки формы.
В нашем примере вы задавали свойства с помощью глобальных переменных. Однако для задания свойств можно использовать более гибкий и защищенный от внешней среды по отношению к классу вариант назначения свойств класса, то есть функции свойств:
Добавим, например, в класс сlsDepartment свойство InAddress, описывающее внутренний адрес подразделения (например, номер помещения) внутри фирмы.
Для добавления нового свойства можно использовать диалоговое окно ввода членов класса Add Procedure (Добавить процедуру), показанное на рис. 15.3. Оно вызывается командой Add Procedure (Добавить процедуру) меню Tools (Сервис) при работе в редакторе кода модуля. Напомним, что члены класса — это свойства, методы и события, присущие классу.
Для ввода необходимого свойства следует вписать его имя в поле Name (Имя) диалогового окна Add Procedure и установить опцию Property (Свойство) в группе переключателей Type (Тип). Данное окно автоматически добавляет в код модуля шаблоны функций property Get и property Let с заданным наименованием свойства.
Рис. 15.3. Диалоговое окно Add Procedure для ввода членов класса
Необходимо назначить переменную для хранения свойства, но это уже внутренняя переменная класса типа private, защищенная от внешнего доступа. Окончательный код в модуле класса с учетом нового свойства выглядит так:
' Свойства объектов класса
Public nDepCode As Integer
Public nDepParentCode As Integer
Public sDepName As String
Public sDepManager As String
Public nSalary As Currency
Public nAddSalary As Currency
' Переменная для хранения значения нового свойства
Private sInAddress
' Определение нового свойства
Public Property Get InAddressO As String
InAddress = sInAddress End Property
Public Property Let InAddress(ByVal sNewValue As String)
sInAddress = sNewValue End Property
Если модифицировать код, выполняемый при нажатии кнопки, следующим образом:
Private Sub Commandl_Click()
sSayAboutObj = "Код подразделения: " + Str(objDep.nDepCode) + Chr(10)
sSayAboutObj = sSayAboutObj + "Наименование подразделения: " + objDep.sDepName + Chr(10)
sSayAboutObj = sSayAboutObj + "Руководитель: " + objDep.sDepManager + Chr(10)
' Добавленное свойство
sSayAboutObj = sSayAboutObj + "Размещается: " + objDep.InAddress
'Вывод в окно сообщения
MsgBox sSayAboutObj,, "Сведения об объекте"
End Sub
то будет возвращаться и значение нового свойства, определяющего место размещения подразделения.
назад | содержание | вперед