Clasa de obiecte este o reprezentare abstracta a unei entitati. Obiectul reprezinta o manifestare concreta a unei clase. Obiectul este structura care contine date si metode de manipulare a datelor.
Un obiect contine date prin intermediul campurilor si proprietatilor:
- campul: stocheaza date si este similar unei variabile;
- proprietatea: extrage si modifica valoarea unui camp prin proceduri Get si Set; astfel, datele sunt izolate, iar valorile din campuri sunt validate.
Un obiect contine si metode prin care sunt implementate actiuni. Metodele unui obiect iau forma procedurilor.
O actiune recunoscuta de de un obiect poarta denumirea de eveniment [...].
O clasa de obiecte poate implementa interfete in toate aspectele definite in acestea. Interfata reprezinta o colectie de elemente de programare si nu contine partea de implementare.
Tipuri de clase de obiecte in functie de sursa definirii:
- incluse in VB.NET;
- construite in alte aplicatii;
- construite sau modificate de catre dezvoltator in cadrul aplicatiei.
Clasa de obiecte se comporta ca un tip de date, iar utilizatorul poate defini variabile de acest tip. Variabilele se numesc obiecte, continand date si actiuni.
Ca exemplu, se considera clasa de obiecte Task, avand urmatoarele campuri:
- cDenTask: denumire task;
- cTipTask: categorie task;
- cResTask: nume responsabil task;
- cPrioTask: categorie prioritate task.
Campurile cDenTask, cTipTask si cResTask sunt definite cu tipul String, iar campul cPrioTask este de tip Boolean.
Toate campurile sunt definite cu modificatorul de acces Private [...], ceea ce inseamna ca accesul este restrictionat la codul sursa dezvoltat in cadrul clasei. Accesarea si modificarea valorilor campurilor sunt realizate prin proprietatile DenTask, TipTask, ResTask si PrioTask.
Public Class Task 'Campuri Private cDenTask As String Private cTipTask As String Private cResTask As String Private cPrioTask As Boolean 'Proprietati clasa Task 'proprietate camp cDenTask Public Property DenTask() Get Return cDenTask End Get Set(ByVal value) cDenTask = value End Set End Property 'proprietate camp cTipTask Public Property TipTask() Get Return cTipTask End Get Set(ByVal value) cTipTask = value End Set End Property 'proprietatea camp cResTask Public Property ResTask() Get Return cResTask End Get Set(ByVal value) cResTask = value End Set End Property 'proprietate camp cPrioTask Public Property PrioTask() Get Return cPrioTask End Get Set(ByVal value) cPrioTask = value End Set End Property 'metoda clasa de obiecte Task Public Function ModificaPrioritate(ByVal prioNou As Boolean) As String cPrioTask = prioNou Dim res As String res = "A fost modificata prioritatea task-ului pe valoarea " &_ cPrioTask & " !" Return res End Function ' exemplu de constructor fara parametri Public Sub New() cDenTask = "Task Nou" cTipTask = "Tip Task Nou" cResTask = "Responsabil Task Nou" cPrioTask = False End Sub 'supraincarcare constructor - varianta constructor cu parametri Public Sub New(ByVal denT As String, ByVal tipT As String, _ ByVal resT As String, ByVal prioT As Boolean) cDenTask = denT cTipTask = tipT cResTask = resT cPrioTask = prioT End Sub End Class
Pe langa campuri si proprietati, clasa de obiecte Task definita mai sus contine o metoda denumita ModificaPrioritate construita ca o procedura de tip Function si doua metode constructor supraincarcate.
Metoda constructor este una speciala, fiind implementata prin procedura Sub New. Codul din metoda constructor se executa inaintea restului de cod definit in clasa de obiecte. Metoda constructor este apelata la crearea obiectului.
Cand nu mai sunt utilizate, obiectele sunt distruse prin sistemul reference-tracing garbage collection. Distrugerea obiectelor se face pe baza metodei speciale denumita destructor si implementata prin procedura Sub Finalize. Spre deosebire de metoda constructor, destructorul nu trebuie apelat explicit, sistemul ocupandu-se de apelarea automata a destructorului.

in romanian
in english