Module, Strukturen und Klassen

Es gibt nur drei Möglichkeiten, eine VB.NET-Anwendung zu organisieren.

  • Module
  • Strukturen
  • Klassen

Bei den meisten technischen Artikeln wird jedoch davon ausgegangen, dass Sie bereits alles über sie wissen. Wenn Sie einer der vielen sind, die noch ein paar Fragen haben, können Sie einfach die verwirrenden Teile durchlesen und versuchen, es trotzdem herauszufinden. Und wenn Sie eine haben Menge Mit der Zeit können Sie die Dokumentation von Microsoft durchsuchen:

  • "Ein Modul ist eine tragbare ausführbare Datei, z. B. type.dll oder application.exe, die aus einer oder mehreren Klassen und Schnittstellen besteht."
  • Msgstr "Eine Klassenanweisung definiert einen neuen Datentyp."
  • "Die Structure-Anweisung definiert einen zusammengesetzten Werttyp, den Sie anpassen können."

Also gut. Irgendwelche Fragen?

Um Microsoft gegenüber fairer zu sein, bieten sie Seiten und Seiten (und mehr Seiten) mit Informationen zu all diesen Themen, die Sie durchgehen können. Und sie müssen so genau wie möglich sein, weil sie Maßstäbe setzen. Mit anderen Worten, die Dokumentation von Microsoft liest sich manchmal wie ein Gesetzbuch, weil es ist ein Gesetzbuch.

Aber wenn Sie nur .NET lernen, kann es sehr verwirrend sein! Du musst irgendwo anfangen. Das Verständnis der drei grundlegenden Möglichkeiten, wie Sie Code in VB.NET schreiben können, ist ein guter Anfang.

Sie können VB.NET-Code mit einer dieser drei Formen schreiben. Mit anderen Worten, Sie können eine Konsolenanwendung in VB.NET Express und schreiben:

Modul Module1
Sub Main ()
MsgBox ("Dies ist ein Modul!")
End Sub
Modul beenden
Klasse Class1
Sub Main ()
MsgBox ("Dies ist eine Klasse")
End Sub
Klasse beenden
Struktur Struct1
Dim myString As String
Sub Main ()
MsgBox ("Dies ist eine Struktur")
End Sub
Struktur beenden

Das macht nicht irgendein Sinn als Programm natürlich. Der Punkt ist, dass Sie keinen Syntaxfehler bekommen, es ist also "legaler" VB.NET-Code.

Diese drei Formen sind die einzige Möglichkeit, die Bienenköniginwurzel von .NET zu codieren: das Objekt. Das einzige Element, das die Symmetrie der drei Formen unterbricht, ist die Aussage: Dim myString As String. Das hat damit zu tun, dass eine Struktur ein "zusammengesetzter Datentyp" ist, wie Microsoft in ihrer Definition festlegt.

Eine andere Sache zu bemerken ist, dass alle drei Blöcke eine haben Sub Main () in ihnen. Eines der grundlegendsten Prinzipien von OOP wird normalerweise genannt Verkapselung. Dies ist der "Black Box" -Effekt. Mit anderen Worten, Sie sollten in der Lage sein, jedes Objekt unabhängig zu behandeln, und dazu gehört auch die Verwendung von Subroutinen mit identischen Namen, wenn Sie möchten.

Klassen

Klassen sind der 'richtige' Startpunkt, da, wie Microsoft feststellt, "eine Klasse ein grundlegender Baustein der objektorientierten Programmierung (OOP) ist". Tatsächlich behandeln einige Autoren Module und Strukturen nur als spezielle Arten von Klassen. Eine Klasse ist eher objektorientiert als ein Modul, weil dies möglich ist instanziieren eine Klasse, aber kein Modul.

Mit anderen Worten, Sie können ...

Öffentliche Klasse Form1
Private Sub Form1_Load (_
ByVal Absender Als System.Object, _
ByVal e As System.EventArgs) _
Verarbeitet MyBase.Load
Dim myNewClass As Class1 = New Class1
myNewClass.ClassSub ()
End Sub
Klasse beenden

(Die Klasseninstanziierung wird hervorgehoben.)