Для программистов и энтузиастов программирования технология классов в VB представляет собой сложный момент в освоении. В процессе разработки крупномасштабного программного обеспечения модулей (Moudle), элементов управления (Activeocx), библиотек ссылок (Activedll) и классов (Classmoudle). представляет собой систематическую и эффективную разработку программного обеспечения, а технология классов является основой технологии управления и библиотеки ссылок. Поэтому очень важно освоить теорию и методы программирования классов.
(1) Базовое определение и обзор применения классов ;
Класс — это модуль кода высокого уровня, который содержит методы, свойства и элементы данных. Он не только входит в область действия модуля, но и является Activeocx без графического интерфейса. Программисты могут использовать его как элемент управления, но не могут. см. Стоит отметить, что классы не могут наследоваться.
Классы позволяют нам эффективно выполнять сложные операции над одним или несколькими конкретными объектами. Действия объекта — это методы класса, а атрибуты объекта — это процессы атрибутов класса. Условно говоря, если объектом программирования является группа вещей, то нам очень уместно использовать стандартные модули. В следующих двух случаях для обработки кода следует использовать классы:
(1) Создать большое количество объектов со схожими свойствами;
(2) Улучшите инкапсуляцию кода.
Создать класс очень просто. При написании кода выберите пункт «Добавить модуль класса» в меню «Проект», чтобы добавить пустой класс.
Файлы классов обычно сохраняются с расширением .cls.
(2) Реализация методов класса ;
Метод класса аналогичен функции интерфейса динамической библиотеки. Он может принимать параметры указанного типа из других кодов формы и передавать их в класс. Вообще говоря, методы класса могут указывать, существует ли возвращаемое значение. Обычно это публичная процедура в классе. Рассмотрим следующий пример кода, который заставляет поле пароля отклонять небуквенный ввод:
(1) cls-подобный код;
Проверка переменной OptionExplicit
PRivateWithEventsmytxtAsTextBox
'Методы этого класса принимают и управляют текстовым полем пароля.
DimisNUMAsBoolean
'Переменные уровня модуля класса
PublicSubAttach (itTEXTAsTextBox)
'Принимаем внешние переменные в mytxt
Setmytxt=itТЕКСТ
EndSub
PrivateSubmytxt_KeyUp (KeyCodeAsInteger, ShiftAsInteger)
isNUM=(KeyCode>=65) И (KeyCode<=90)
'Проверьте, вводятся ли с клавиатуры в поле пароля английские буквы
IfisNUM=FalseThen
Звуковой сигнал
mytxt.Text=
«Если введена не английская буква, прозвенит звонок, и содержимое поля пароля будет очищено.
MsgBox недопустимый ввод символов!
КонецЕсли
Debug.Printmytxt.Text
'Отладка содержимого поля вывода пароля
EndSub
'Конец кода класса
(2) Ссылка на класс ;
На написанные классы можно ссылаться в двух форматах. Первый способ: частный (публичный или неопределенный) myCLS (заданное имя класса) AsNewcls (второй способ больше подходит для программистов старшего возраста): сначала сделайте объявление уровня модуля — DimmyCLSAscls — в коде формы, а затем создайте конкретное определение — Setmycls=Newcls в конкретном процессе кода. Между этими двумя методами могут быть различия в эффективности и простоте кода, но в практике программирования автора особых ощущений нет. Однако я предпочитаю первый метод, поскольку его удобнее писать. Кроме того, в конце кода очень полезно использовать SetmyCLS=Nothing для отмены занятия ресурсов класса.
В форме form1 (форма имеет поле ввода пароля text1, passworldchar=*) добавьте следующий код:
OptionExplicit
PrivatemyCLSAsNewcls
'Цитировать cls
PrivateSubForm_Load()
myCLS.AttachText1
'Стартап-класс
EndSub
'Не забудьте освободить ресурсы в конце кода
PrivateSubForm_Unload (CancelAsInteger)
SetmyCLS=Ничего
Конец
EndSub
Код в этой статье показывает процесс написания кода и вызов метода класса (хотя он очень похож на событие класса, если в поле пароля введена небуква, система это сделает). кольцо и поле пароля будут удалены из исходных данных, что в определенной степени защищает пароль.
Метод класса не требует каких-либо параметров, что похоже на общедоступную функцию или процедуру. Он также наиболее широко используется в классах. В следующей статье я расскажу, как использовать свойства, события и методы классов для комплексного программирования.
Мы обсудили теорию классов, создание классов и практику программирования методов классов. Фактически, основная причина, по которой классы могут широко использоваться в разработке программного обеспечения, заключается в том, что они могут очень удобно инкапсулировать многие атрибуты, необходимые для программирования. не только позволяет программистам в определенной степени преодолеть сложность проектирования и отладки элементов управления (ocx) и библиотек ссылок (dll), но также повышает простоту и эффективность программных кодов — в этой статье будет обсуждаться полное программирование классов, включая методы , атрибуты и базовые события.
(1) Характеристики и определения атрибутов класса;
Подобно свойствам стандартных элементов управления, свойства класса позволяют пользователю присваивать значения в пределах указанного диапазона данных, и эти значения используются различными частями кода внутри класса. Получение и передача свойств требует программирования с помощью операторов PropertyLet и PropertyGet. Конечно, сначала нам необходимо определить соответствующие переменные на глобальном уровне или уровне модуля в классе.
(2) Атрибуты и основные определения событий;
Подобно событиям формы, классы также имеют два основных события: Class_Initialize (запускается при загрузке класса) и Class_Terminate (запускается при выгрузке класса), оба из которых являются частными. Фактически, мы можем полностью игнорировать эти два события — если вы не забываете завершать методы и свойства класса.
Классы также могут определять свои собственные события, которые аналогичны формату программирования методов, за исключением того, что для объявления параметра требуется ключевое слово WithEvents, а событие не может иметь именованных или необязательных параметров и не имеет возвращаемого значения.
Фактически, хорошо структурированные методы и свойства могут полностью заменить события классов со сложной структурой.
(3) Примеры программирования методов, событий и свойств класса;
Целью этой программы является управление всеми прописными, строчными и обратной сортировкой содержимого текстового поля в форме через классы.
Чтобы облегчить написание и вызов кода, я сослался на метод программирования перечисления в классе.
Следующий код находится в классе Class1:
OptionExplicit
PrivateWithEventsmyTXTAsTextBox
'Интерфейс параметров метода
PublicEnumsTYLE
Атрибут нижнего регистра Lcaseit
Атрибут капитализации Lbigit
Атрибут обратной сортировки Nlogoit
EndEnum
'Пользовательское перечисление, используемое для реализации автоматического назначения атрибутов
ПриватмварБяожжиЗадницаСТИЛЬ
'Реализуем подключение констант перечисления
PublicFunctiondONE()AsString'
'Метод DONE используется для установки
'Выполняем соответствующие операции преобразования символов в текстовом поле формы
'И возвращаем преобразованную строку
IfmvarBiaozhi=NlogoitThen
dONE=StrReverse(myTXT)
'Обратная сортировка
ElseIfmvarBiaozhi=LcaseitThen
dONE=LCase(myTXT)
'Принудительное преобразование нижнего регистра
Еще
dONE=UCase(myTXT)
'Принудительное преобразование в верхний регистр
КонецЕсли
Конечнаяфункция
'Метод DONE завершается
PublicPropertyLetBiaozhi (ByValvDataAssTYLE)
'Получаем присвоенное значение атрибута
mvarBiaozhi=vData
Конепроперти
PublicPropertyGetBiaozhi()AssTYLE
'Переносим значения атрибутов в класс
SetBiaozhi=mvarBiaozhi
Конепроперти
PublicSubAttach (itTEXTAsTextBox)
'Метод подключения класса
SetmyTXT=itТЕКСТ
EndSub
PrivateSubClass_Initialize()
'Это событие активируется при загрузке класса
MsgBox Здравствуйте! Эта программа покажет вам методы программирования с использованием методов, свойств и событий класса!
EndSub
PrivateSubClass_Terminate()
'Это событие активируется, когда класс выгружается
MsgBox Здравствуйте! Не забудьте заполнить код после отзыва объекта в Class_Terminate!
EndSub
'Код класса закончился
(4) Справочное программирование кода формы;
Добавьте текстовый элемент управления TEXT1, элемент управления раскрывающимся списком COMBO1 и командную кнопку COMMAND1 (CAPTION = Начать преобразование), чтобы сформировать FORM1, и установите три элемента управления в соответствующие положения.
ДиммиТАсНовыйКласс1
'Ссылка на класс
PrivateSubForm_Load()
Комбо1.Очистить
Преобразование строки Combo1.AddItem в верхний регистр
Преобразование строки Combo1.AddItem в нижний регистр
Обратная сортировка строки Combo1.AddItem
Combo1.ListIndex=0
'Добавить параметры атрибута в список
EndSub
PrivateSubCommand1_Click()
'Активировать класс при нажатии командной кнопки
myT.AttachText1
'Подключение параметра метода
SelectCaseCombo1.ListIndex
Дело0
myT.Biaozhi=Lбигит
Случай1
myT.Biaozhi=Lcaseit
Случай 2
myT.Biaozhi=Нлогоит
КонецВыбрать
'В соответствии с выбором в списке присвойте значение атрибуту Biaozhi класса
'Обратите внимание, что в среде программирования указанные выше значения атрибутов добавляются автоматически
Text1.Text=myT.dONE
'Возвращаем строку после сортировки
EndSub
PrivateSubForm_Unload (CancelAsInteger)
SetmyT=Ничего
Конец
«Хорошие навыки программирования
EndSub
А как насчет того, что наш код выглядит настолько лаконично, что создается впечатление использования элемента управления, который можно не только вызывать по желанию, но и удобно использовать функцию автоматической подсказки VB.
(5) Краткое описание методов программирования классов;
Строго говоря, классы — это очень полезная технология программирования VB, но их также сложно изучить и освоить. Классы широко и эффективно используются в крупномасштабных проектах программного обеспечения. Однако при мелкомасштабной разработке программного обеспечения для улучшения программного обеспечения. Для эффективности и ясности кода вам следует избегать использования большего количества модулей классов, элементов управления и библиотек подключений и заменять их стандартными модулями.
Пример кода в этой статье относительно прост, но он охватывает все аспекты технологии модульного программирования. Я надеюсь, что новички смогут извлечь из него уроки, а программисты смогут обсудить его вместе. Мы должны верить, что какими бы сложными ни были высотные здания, все они построены из обычных кирпичей. Точно так же, какими бы сложными ни были проекты по программированию, они состоят из базовых программных операторов и программистов. Единственное отличие от них. Аналитик заключается в том, что программы, построенные с использованием одних и тех же программных операторов, различны. ->