Moduli, strutture e classi

Esistono solo tre modi per organizzare un'applicazione VB.NET.

  • moduli
  • strutture
  • Classi

Ma la maggior parte degli articoli tecnici presume che tu ne sappia già tutto. Se sei uno dei tanti che hanno ancora qualche domanda, potresti semplicemente leggere oltre i bit confusi e provare comunque a capirlo. E se hai un lotto di tempo, puoi iniziare a cercare attraverso la documentazione di Microsoft:

  • "Un modulo è un file eseguibile portatile, come type.dll o application.exe, costituito da una o più classi e interfacce."
  • "Un'istruzione Class definisce un nuovo tipo di dati."
  • "L'istruzione Structure definisce un tipo di valore composito che è possibile personalizzare."

Bene allora. Qualsiasi domanda?

Per essere un po 'più equi con Microsoft, hanno pagine e pagine (e più pagine) di informazioni su tutte queste che puoi sfogliare. E devono essere il più esatti possibile perché stabiliscono lo standard. In altre parole, la documentazione di Microsoft a volte si legge come un libro di legge perché è un libro di legge.

Ma se stai solo imparando .NET, può essere molto confuso! Devi iniziare da qualche parte. Comprendere i tre modi fondamentali per scrivere codice in VB.NET è un buon punto di partenza.

È possibile scrivere il codice VB.NET utilizzando uno di questi tre moduli. In altre parole, è possibile creare un Applicazione console in VB.NET Express e scrivi:

Modulo Modulo 1
Sub Main ()
MsgBox ("Questo è un modulo!")
End Sub
Modulo finale
Classe Classe 1
Sub Main ()
MsgBox ("Questa è una classe")
End Sub
End Class
Struttura Struct1
Dim myString As String
Sub Main ()
MsgBox ("Questa è una struttura")
End Sub
End Structure

Questo non fa qualunque senso come un programma, ovviamente. Il punto è che non si ottiene un errore di sintassi, quindi è un codice VB.NET "legale".

Queste tre forme sono l'unico modo per codificare la radice dell'ape regina di tutto .NET: l'oggetto. L'unico elemento che interrompe la simmetria delle tre forme è l'affermazione: Dim myString As String. Ciò ha a che fare con una Struttura che è un "tipo di dati composito" come afferma Microsoft nella loro definizione.

Un'altra cosa da notare è che tutti e tre i blocchi hanno un Sub Main () in loro. Uno dei principi più fondamentali di OOP è di solito chiamato incapsulamento. Questo è l'effetto "scatola nera". In altre parole, dovresti essere in grado di trattare ogni oggetto in modo indipendente e questo include l'uso di subroutine identiche se lo desideri.

Classi

Le classi sono il punto "giusto" per iniziare perché, come osserva Microsoft, "Una classe è un elemento fondamentale della programmazione orientata agli oggetti (OOP)". In effetti, alcuni autori considerano i moduli e le strutture solo come tipi speciali di classi. Una classe è più orientata agli oggetti di un modulo perché è possibile instantiate (crea una copia di) una classe ma non un modulo.

In altre parole, puoi codificare ...

Modulo di classe pubblica 1
Sottomodulo privato1_Load (_
Mittente ByVal come System.Object, _
ByVal e As System.EventArgs) _
Gestisce MyBase.Load
Dim myNewClass As Class1 = New Class1
myNewClass.ClassSub ()
End Sub
End Class

(L'istanza di classe è enfatizzata.)