Modules, structures et classes

Il n'y a que trois façons d'organiser une application VB.NET.

  • Modules
  • Structures
  • Des classes

Mais la plupart des articles techniques supposent que vous les connaissez déjà. Si vous êtes l'un des nombreux qui ont encore quelques questions, vous pouvez simplement lire au-delà des bits confus et essayer de le comprendre de toute façon. Et si vous avez un lot de temps, vous pouvez commencer à rechercher dans la documentation de Microsoft:

  • "Un module est un fichier exécutable portable, tel que type.dll ou application.exe, composé d'une ou plusieurs classes et interfaces."
  • "Une instruction Class définit un nouveau type de données."
  • "L'instruction Structure définit un type de valeur composite que vous pouvez personnaliser."

Bon, alors. Des questions?

Pour être un peu plus juste envers Microsoft, ils ont des pages et des pages (et plus de pages) d'informations sur tous ces éléments que vous pouvez parcourir. Et ils doivent être aussi précis que possible car ils établissent la norme. En d'autres termes, la documentation de Microsoft se lit parfois comme un livre de droit car elle est un livre de droit.

Mais si vous apprenez juste .NET, cela peut être très déroutant! Vous devez commencer quelque part. Comprendre les trois façons fondamentales d'écrire du code dans VB.NET est un bon point de départ.

Vous pouvez écrire du code VB.NET à l'aide de l'une de ces trois formes. En d'autres termes, vous pouvez créer un Application de la console dans VB.NET Express et écrivez:

Module Module1
Principal sous()
MsgBox ("Ceci est un module!")
End Sub
Module de fin
Classe Class1
Principal sous()
MsgBox ("Ceci est une classe")
End Sub
Fin de classe
Structure Struct1
Dim myString As String
Principal sous()
MsgBox ("Ceci est une structure")
End Sub
Structure d'extrémité

Cela ne fait pas tout sens comme un programme, bien sûr. Le fait est que vous n'obtenez pas d'erreur de syntaxe, c'est donc du code VB.NET "légal".

Ces trois formes sont le seul moyen de coder la racine de la reine des abeilles de l'ensemble de .NET: l'objet. Le seul élément qui interrompt la symétrie des trois formes est l'énoncé: Dim myString As String. Cela a à voir avec une structure étant un "type de données composite" comme Microsoft l'indique dans leur définition.

Une autre chose à noter est que les trois blocs ont un Principal sous() en eux. L'un des principes les plus fondamentaux de la POO est généralement appelé encapsulation. C'est l'effet "boîte noire". En d'autres termes, vous devriez pouvoir traiter chaque objet indépendamment et cela inclut l'utilisation de sous-programmes portant le même nom si vous voulez.

Des classes

Les classes sont le «bon» point de départ car, comme le note Microsoft, «Une classe est un élément fondamental de la programmation orientée objet (POO)». En fait, certains auteurs traitent les modules et les structures comme des types particuliers de classes. Une classe est plus orientée objet qu'un module car il est possible de instancier (faire une copie de) une classe mais pas un module.

En d'autres termes, vous pouvez coder…

Formule de classe publique1
Sous-formulaire privé1_Load (_
Expéditeur ByVal As System.Object, _
ByVal e As System.EventArgs) _
Gère MyBase.Load
Dim myNewClass As Class1 = New Class1
myNewClass.ClassSub ()
End Sub
Fin de classe

(L'instanciation de classe est soulignée.)