Sunteți pe pagina 1din 6

Constructori

= metode destinate iniţializării obiectelor


- sunt apelați/executați automat în momentul creării obiectelor
- constructorii sunt proceduri cu denumirea NEW
- o clasă poate avea 0 sau n metode de tip constructor (în absenţa
constructorilor, compilatorul generează unul implicit)
Exemplu:
Public Class Factura
Public Numar As String
Public Data As Date
Private CotaTVA As Decimal
Sub NEW()
Numar=‘1234’
Data=Now()
CotaTVA=0.20
End Sub
End Class
Conf. dr. Cozgarea Adrian
Destructori

= metode invocate automat la distrugerea obiectelor


- utilizarea lor nu este încurajată în VB.NET
- o clasă poate avea un singur destructor cu denumirea FINALIZE()

Conf. dr. Cozgarea Adrian


Selectori/Modificatori: structura PROPERTY
= metode destinate modificării/citirii atributelor unei clase
AVANTAJE:
1. asigură accesul controlat asupra datelor stocate de atribute;
2. oferă posibilitatea definirii unor restricţii de integritate asupra datelor

SINTAXA:
[acces][ReadOnly|WriteOnly] Property nume () [As tipReturnat]
[access] Get
[instrucţiuni1]
End Get

[acces] Set (valoare As tipDate)


[instrucţiuni2]
End Set

End Property
Conf. dr. Cozgarea Adrian
Proprietăţi

Citire (GET)

Atribut Proprietate

Atribuire (SET)

Reguli folosite în declararea unei proprietăţi:


1. Atributul citit/actualizat de proprietate se declară local (private)
2. Denumirea atributului <> denumirea proprietății.
Exemplu: DenumireAtribut=“_” + DenumireProprietate
3. Tipul proprietăţii ≡ tipul parametrului din SET ≡ tipul atributului

Conf. dr. Cozgarea Adrian


Exemplu proprietăţi
Public Class Persoana
Private _CNP As String, _DataNasterii As Date, _NumePrenume As String
Public Property CNP() As String
Get
Return _CNP
End Get
Set(value As String)
_CNP = value
End Set
End Property
Public Property DataNasterii() As Date
Get
Return _DataNasterii
End Get
Set(value As Date)
If value < #01/01/1900# Then ‘ restrictie: DataNasterii > 1/1/1900
MsgBox("Data eronata !", MsgBoxStyle.Critical)
Else
_DataNasterii = value
End If
End Set
End Property
Conf. dr. Cozgarea Adrian
Exemplu proprietăţi (continuare)
Public Property NumePrenume() As String
Get
Return _NumePrenume
End Get
Set(ByVal value As String)
If value = "" Then ‘ restrictie: NumePrenume<> ""
MsgBox(“ Nume eronat !", MsgBoxStyle.Critical)
Else
_NumePrenume = value
End If
End Set
End Property
End Class

Utilizare în program (ex.: în cadrul operaţiei dintr-o altă clasă):


Dim Ionescu As Persoana= New Persoana() ‘ declarare si initializare obiect
Ionescu.CNP=“111120025363“
Ionescu.NumePrenume=“Ionescu Vasile“
Ionescu.DataNasterii=#12/11/1890# ‘ Data eronata !
MsgBox (Ionescu.NumePrenume)

Conf. dr. Cozgarea Adrian

S-ar putea să vă placă și