![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]()
![]()
|
![]() |
Объектно-ориентированный подход к созданию программных средствДля проверки объектной переменной можно применить оператор Is и ключевое слово Nothing: If <имя объектной переменной> Is Nothing Then ... Поскольку объектные переменные до первого присвоения ссылка на объект имеют значение Nothing, то в этом случае результатом применения оператора Is будет значение True, иначе - False. При реализации стратегии Read-only или Write-only используется только одна из трех процедур: Get, Let и Set. Для Read-only - это Get, а для Write-only - это Let или Set. Последнее стратегия полностью закрывает доступ к свойству и процедуры-свойства вообще не записываются. Стоит отметить, что в случае, когда свойство имеет тип Variant, ее значением могут быть как обычные данные (числа, текст), так и объекты. В этом случае для присвоения ей значения это свойство должно иметь как процедуру Let, так и процедуру Set. Эти процедуры должны иметь одинаковое количество параметров и у них должно быть по крайней мере один параметр, который представляет собой значение, которое присваивается свойства. Этот параметр должен всегда быть последним в списке параметров. Вторая особенность, на которую надо обратить внимание, это то, что два способа создания свойства (с помощью переменной public и с помощью процедуры property) можно применять только при реализации первой стратегии. При этом возникает вопрос о преимуществах и недостатках каждого из этих способов. Первый способ (глобальные переменные) более быстродействующий (если его можно использовать), однако второй - универсальный, поскольку позволяет при чтении или записи значения свойства выполнять дополнительную обработку данных. Установка и получение значения свойства выполняется независимо от способа создания их. В следующем примере используются два объекта - экземпляра класса Клиент и устанавливается (записывается) и возвращается (читается) их свойство Фамилия: Dim ПопереднийЗамовник As New Клиент Dim ПоточнийЗамовник As New Клиент 'Запись (присвоение) значений свойств: ПопереднийЗамовник.Фамилия = "Сумина" ПоточнийЗамовник.Фамилия = "Мищук" 'Чтение значений свойств: MsgBox ПопереднийЗамовник.Фамилия MsgBox ПоточнийЗамовник.Фамилия 'Чтение и присвоение значения свойства: ПопереднийЗамовник.Фамилия = ПоточнийЗамовник.Фамилия 'Чтение новое значение свойства: MsgBox ПопереднийЗамовник.Фамилия Этот пример показывает два отличия модуля класса от стандартного модуля: • модуль класса используется как шаблон для создания объекта (экземпляра класса); • можно создавать несколько экземпляров одного класса. Продолжение статьи: ч.1 Продолжение статьи: ч.2 Продолжение статьи: ч.3 Продолжение статьи: ч.4 Продолжение статьи: ч.5 Продолжение статьи: ч.6 Продолжение статьи: ч.7 Продолжение статьи: ч.8 Продолжение статьи: ч.9 Продолжение статьи: ч.10 Продолжение статьи: ч.11 Продолжение статьи: ч.12 Продолжение статьи: ч.13 Продолжение статьи: ч.14 Продолжение статьи: ч.15 Продолжение статьи: ч.16 Продолжение статьи: ч.17 Продолжение статьи: ч.18 Продолжение статьи: ч.19 Продолжение статьи: ч.20 Продолжение статьи: ч.21 Продолжение статьи: ч.22 Продолжение статьи: ч.23 Продолжение статьи: ч.24 Другие статьи по теме: - Понятие алгоритма- Объектно-ориентированный подход к созданию программных средств - Разработка программного продукта. Этапы проектирования и построение модели - Средства структурного анализа и проектирования систем - Типы алгоритмов ![]() |
![]() |
![]() |
![]()
![]()
![]() ![]() ![]() |
![]() |
![]() |
2006-2025 © SMTI.RU Главная страница | Связаться с нами |