Module, structuri și clase

Există doar trei moduri de a organiza o aplicație VB.NET.

  • module
  • structuri
  • Clase

Dar majoritatea articolelor tehnice presupun că știți deja toate despre ele. Dacă sunteți unul dintre numeroșii care mai au câteva întrebări, puteți citi doar bucățile confuze și încercați să le dați seama oricum. Și dacă aveți un mult din timp, puteți începe să căutați prin documentația Microsoft:

  • "Un modul este un fișier executabil portabil, cum ar fi type.dll sau application.exe, format din una sau mai multe clase și interfețe."
  • "O declarație Class definește un nou tip de date."
  • "Instrucțiunea Structura definește un tip de valoare compozit pe care îl puteți personaliza."

Chiar atunci. Alte intrebari?

Pentru a fi puțin mai corecți cu Microsoft, acestea au pagini și pagini (și mai multe pagini) de informații despre toate acestea pe care le poți parcurge. Și trebuie să fie cât mai exacti pentru că au stabilit standardul. Cu alte cuvinte, documentația Microsoft citește uneori ca o carte de legi, deoarece este o carte de legi.

Dar dacă înveți doar .NET, poate fi foarte confuz! Trebuie să începi de undeva. Înțelegerea celor trei moduri fundamentale prin care poți scrie cod în VB.NET este un loc bun pentru a începe.

Puteți scrie cod VB.NET folosind oricare dintre aceste trei forme. Cu alte cuvinte, puteți crea o Aplicație de consolă în VB.NET Express și scrieți:

Modulul modul 1
Sub principal ()
MsgBox ("Acesta este un modul!")
Sub final
Modul final
Clasa Clasa1
Sub principal ()
MsgBox ("Aceasta este o clasă")
Sub final
Clasa finală
Structura Structură1
Dim myString As String
Sub principal ()
MsgBox ("Aceasta este o structură")
Sub final
Structura finală

Acest lucru nu face orice sens ca program, desigur. Ideea este că nu primiți o eroare de sintaxă, deci este „legal” codul VB.NET.

Aceste trei forme sunt singura cale de a codifica rădăcina albinei regine a tuturor .NET: obiectul. Singurul element care întrerupe simetria celor trei forme este afirmația: Dim myString As String. Aceasta are legătură cu o structură care este un „tip de date compozite” așa cum afirmă Microsoft în definiția lor.

Un alt lucru de observat este că toate cele trei blocuri au un Sub principal () în ele. Unul dintre principalii fundamentali ai OOP este de obicei numit încapsulare. Acesta este efectul „cutie neagră”. Cu alte cuvinte, ar trebui să poți trata fiecare obiect în mod independent și asta include utilizarea subrutinelor numite identic dacă vrei.

Clase

Clasele sunt locul „potrivit” pentru a începe, deoarece, după cum remarcă Microsoft, „o clasă este un bloc fundamental al programării orientate pe obiecte (OOP)." De fapt, unii autori tratează modulele și structurile ca doar un fel de clase speciale. O clasă este mai mult orientată pe obiect decât un modul, deoarece este posibil să instantiat (faceți o copie a) unei clase, dar nu a unui modul.

Cu alte cuvinte, puteți codifica ...

Clasa publică Form1
Sub Formular privat1_Load (_
Expeditor ByVal ca System.Object, _
ByVal e As System.EventArgs) _
Manerele MyBase.Load
Dim myNewClass As Class1 = New Class1
myNewClass.ClassSub ()
Sub final
Clasa finală

(Instanțarea clasei este accentuată.)