Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Dim MyObject As clsEmployee




Dim Percent As Single

Добавление в класс методов

End Sub

Конструкторы и деструкторы

Dim objBoss As New clsEmployee

Dim objEmployee As New clsEmployee

Public Property Set Super(objBoss As clsEmployee)

End Property

Private objSuper As clsEmployee

Public Property Get Super() As clsEmployee

Set Super = objSuper

Set objSuper = objBoss
End Property

Оператор Set применяется для задания значения объекта. Ключевое слово Set также должно использоваться в вызывающей программе при обращении к этому свойству:

objEmployee. Name ="Петров"

objEmployee. Adress = "Чехова,16"

objBoss. Name = "Градов"

objEmployee. Super = objBoss

Msgbox "Начальник Петрова - " & objEm­ployee. Super. Name

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

При создании нового объекта- экземпляра класса вызывается конструктор по умолчанию, инициализирующий этот объект и определяющий значения его свойств. После этого указатель (объектная переменная) связывается с объектом. В отличие от других объектно-ориентированных языков программирования, имеющих несколько конструкторов для объекта, Visual Basic имеет только один конструктор по умолчанию, не имеющий параметров. Роль конструктора по умолчанию играет обработчик события. Это событие возникает при создании объекта класса.

Private Sub Class_ Initialize()

nDeptNum = 1

Но даже и его можно не определять, а использовать стандартную инициализацию. Конечно, инициализировать объект настоящими значениями в какой-то момент все равно придется, поэтому для класса принято создавать свои конструкторы, по сути дела являющиеся методами.

Деструктор вызывается автоматически при уничтожении объекта. В Visual Basic объект уничтожаются, как и переменные при выходе из области их действия. Поэтому деструктор, как правило, не пишется. Роль деструктора выполняет обработчик события Terminate. Он вызывается, когда все ранее установленные ссылки на объект получают значение Nothing или указатели на объект перестают существовать, выйдя из области своего определения.

 

Для создания методов в собственных классах нужно добавить в модуль клас­са глобальные процедуры. Глобальные процедуры работают так же, как обычные подпрограммы и функ­ции, но ключевое слово Public означает, что они должны быть доступны пользователям объекта. На­пример, в класс служащих можно добавить процедуру Income.

 

Public Function Income() As Currency

Select Case DateDiff ("yyyy", MyObject. DateN, Now)

Case Is > 1

Percent =0.6

Case Is <= 1

Percent = 0.2




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


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


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



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




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