Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Способы объявления объектных переменных в Visual Basic




End Property

End Property

Public Property Set CurX(ByVal vData As Variant)

End Property

Public Property Let CurX(ByVal vData As Variant)

'Syntax: X.CurX = 5

mvarCurX = vData 'Обновить значение временной переменной

'Syntax: Set x.CurX = Form1

Set mvarCurX = vData

Public Property Get CurX() As Variant

'Syntax: Debug.Print X.CurX

If IsObject(mvarCurX) Then

Set CurX = mvarCurX

Else

CurX = mvarCurX 'Обновить свойство CurX

End If

 

Здесь объявлена локальная переменная mvarCurX в стиле Венгерской нотации. Процедура Property Get по синтаксису является функцией, поскольку возвращает результат в имени, при этом она имеет тот же тип данных, что и параметр, в процедуре Property Let. Существует еще и процедура Property Set, аналогичная Property Let, только она передает не значение свойства, а ссылку на объект. Здесь перед оператором присваивания явно указывается ключевое слово Set (для ссылок на объект, находящихся как на форме, так и за ее пределами).

Если для какого-либо свойства Вы определили один из следующих типов данных: Object, StdFont, StdPicture, то Мастер классов создаст две процедуры свойств Set и Get. Если же тип данных у свойства будет числовой, логический или дата, то – две процедуры свойств Let и Get. И лишь когда тип данных у свойства будет Variant, Мастер классов создаст все три процедуры.

При этом следует помнить, что свойства не должны вызывать никаких действий объекта, которые должны реализоваться в методах.

Методы используются для расширения функциональных возмож­ностей объекта и имеют синтаксис процедур и функций. С помощью команды File\New\Method или кнопки Мастера классов можно добавить методы. Обычно они содержат больше программного кода, чем процедуры свойств, так как в них выполняется обработка данных. Сложные по структуре методы можно разделить и объявить каждую его часть как Private, то есть для внутреннего использования в классе и, тем самым, защитить весь код. Такое разделение отвечает принципу инкапсуляции методов ООП.


Объектные классы дают возможность объявить специальный тип данных, который может поддерживать все традиционные элементы, с которыми уже знакомы программисты, работавшие в других объектно-ориентированных языках, то есть со свойствами, методами и событиями. С одной стороны, объектные классы Visual Basic напоминают модули кода. Допускается объявлять переменные уровня модуля и любое число общих процедур и функций. Можно даже объявить специальный тип процедур, называемый процедурой Property, который предлагает более мощный путь создания свойств класса. Главное различие между объектными классами и модулями кода лежит в способе их использования. Модуль кода просто позволяет комбинировать полезный код, константы и глобальные переменные в повторно используемых библиотеках. Когда вы добавляете модуль кода в проект Visual Basic, можно вызвать любую из его процедур и функций из любого другого модуля в проекте. При использовании объектного класса вы должны создать экземпляр этого класса. Затем установить или считать значения свойств, принадлежащих экземпляру класса, и использовать его процедуры и функции полностью независимо от всех остальных экземпляров этого же класса. Другими словами, объектный класс представляет собой некий суперпользовательский тип данных.

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

Контейнер(модуль класса или формы), в котором используется объект, должен содержать процедуры-события.

Существует два способа объявления имени объекта на основе класса и обращения к его методам и свойствам из приложения.

Первый способ основан на использовании ключевого слова New непосредственно при объявлении объектной переменной в строке Dim.

Например,

Dim mObject As New Class1'Class1 –имяклассапоумолчанию

Private Sub Command1_Click() 'Процедура-событие

mObject.свойство=значение'Обращение к свойству

mObject. метод 'Обращение к методу

…………

Set mObject=Nothing'Удалить ссылку на объект и

'освободить память, выделенную под объект




Поделиться с друзьями:


Дата добавления: 2014-12-23; Просмотров: 585; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.012 сек.