Für Programmierer und Programmierbegeisterte ist die Technologie der Klassen in VB ein schwieriger Punkt im Entwicklungsprozess von umfangreicher Software, Modulen (Moudle), Steuerelementen (Activeocx), Linkbibliotheken (Activedll) und Klassen (Classmoudle). stellt ein systematisches und effizientes Software-Engineering dar, und die Klassentechnologie ist die Grundlage der Steuerungs- und Linkbibliothekstechnologie. Daher ist es sehr sinnvoll, die Theorie und Programmiermethoden von Klassen zu beherrschen.
(1) Grundlegende Definition und Anwendungsübersicht von Klassen ;
Eine Klasse ist ein High-Level-Codemodul, das Methoden, Eigenschaften und Datenelemente enthält. Es liegt nicht nur im Gültigkeitsbereich des Moduls, sondern auch als Activeocx. Programmierer können es wie ein Steuerelement verwenden Sehen Sie es. Es ist erwähnenswert, dass Klassen nicht vererbt werden können.
Klassen ermöglichen es uns, komplexe Operationen an einem oder mehreren spezifischen Objekten effizient durchzuführen. Die Aktionen des Objekts sind die Methoden der Klasse und die Attribute des Objekts sind die Attributprozesse der Klasse. Relativ gesehen ist es für uns sehr angemessen, Standardmodule zu verwenden, wenn das Objekt der Programmierung eine Gruppe von Dingen ist. In den folgenden beiden Fällen sollten Klassen für die Codeverarbeitung verwendet werden:
(1) Erstellen Sie eine große Anzahl von Objekten mit ähnlichen Eigenschaften.
(2) Verbessern Sie die Kapselung des Codes.
Das Erstellen einer Klasse ist sehr einfach. Wählen Sie beim Schreiben von Code den Eintrag „Klassenmodul hinzufügen“ im Menü „Projekt“, um eine leere Klasse hinzuzufügen.
Klassendateien werden im Allgemeinen mit der Erweiterung .cls gespeichert.
(2) Implementierung von Klassenmethoden ;
Die Methode einer Klasse ähnelt der Schnittstellenfunktion einer Dynamic Link Library. Sie kann bestimmte Typparameter aus anderen Formularcodes akzeptieren und an die Klasse übergeben. Im Allgemeinen können Klassenmethoden angeben, ob ein Rückgabewert vorhanden ist. Es handelt sich in der Regel um ein öffentliches Verfahren in der Klasse. Betrachten Sie das folgende Codebeispiel, das dazu führt, dass ein Passwortfeld die Eingabe von Buchstaben, die keine Buchstaben sind, ablehnt:
(1) cls-ähnlicher Code;
Überprüfung der Variable „OptionExplicit“.
PRivateWithEventsmytxtAsTextBox
'Die Methoden in dieser Klasse akzeptieren und steuern ein Textpasswortfeld
DimisNUMAsBoolean
'Variablen der Klasse auf Modulebene
PublicSubAttach(itTEXTAsTextBox)
'Akzeptiere externe Variablen in mytxt
Setmytxt=itTEXT
EndSub
PrivateSubmytxt_KeyUp(KeyCodeAsInteger,ShiftAsInteger)
isNUM=(KeyCode>=65)And(KeyCode<=90)
'Testen Sie, ob die Tastatureingabe im Passwortfeld aus englischen Buchstaben besteht
IfisNUM=FalseThen
Piepton
mytxt.Text=""
„Wenn es sich bei der Eingabe nicht um einen englischen Buchstaben handelt, ertönt die Glocke und das Passwortfeld wird geleert.
MsgBox „Ungültige Zeicheneingabe!“
EndIf
Debug.Printmytxt.Text
'Inhalt des Ausgabe-Passwortfelds debuggen
EndSub
'Ende des Klassencodes
(2) Klassenreferenz ;
Die geschriebenen Klassen können in zwei Formaten referenziert werden: Privat (öffentlich oder dim) myCLS (angegebener Klassenname) AsNewcls (der geschriebene Klassenname); Erstellen Sie zunächst eine Deklaration auf Modulebene (DimmyCLSAscls) im Formularcode und anschließend eine spezifische Definition (Setmycls=Newcls) im spezifischen Codeprozess. Es mag Unterschiede in der Effizienz und Einfachheit des Codes zwischen diesen beiden Methoden geben, aber in der Programmierpraxis des Autors gibt es kein besonderes Gefühl. Ich bevorzuge jedoch die erste Methode, weil sie bequemer zu schreiben ist. Darüber hinaus ist es eine sehr gute Programmiergewohnheit, am Ende des Codes SetmyCLS=Nothing zu verwenden, um die Ressourcenbelegung der Klasse aufzuheben.
Fügen Sie im Formular form1 (das Formular verfügt über ein Passwortfeld-Steuerelement text1, passworldchar="*") den folgenden Code hinzu:
OptionExplicit
PrivatemyCLSAsNewcls
'Zitat cls
PrivateSubForm_Load()
myCLS.AttachText1
„Startup-Klasse
EndSub
„Denken Sie daran, Ressourcen am Ende des Codes freizugeben.“
PrivateSubForm_Unload(CancelAsInteger)
SetmyCLS=Nichts
Ende
EndSub
Der Code in diesem Artikel zeigt den Code-Schreibvorgang und die Aufrufmethode der Klassenmethode (obwohl er dem Ereignis der Klasse sehr ähnlich ist). Der Effekt besteht darin, dass das System klingelt, wenn keine Buchstaben in das Kennwortfeld eingegeben werden und das Passwortfeld wird von den ursprünglichen Daten gelöscht, wodurch das Passwort bis zu einem gewissen Grad geschützt wird.
Eine Klassenmethode erfordert keine Parameter, was einer öffentlichen Funktion oder Prozedur ähnelt. Sie wird auch am häufigsten in Klassen verwendet. Im nächsten Artikel werde ich diskutieren, wie man die Eigenschaften, Ereignisse und Methoden von Klassen für eine umfassende Programmierung nutzt. (Fortgesetzt werden)
->