Sunteți pe pagina 1din 11

Adugarea unei clase (1)

Conf. dr. Cozgarea Adrian

Adugarea unei clase (2)

Conf. dr. Cozgarea Adrian

Adugarea unei clase (3)

Conf. dr. Cozgarea Adrian

Definirea unei clase


[acces]
Class <numeClasa>
[ Inherits <numeClasaBaza> ]
[MustInherit|NotInheritable][Partial]

[ Implements numeInterfata ]

[ Declaratii atribute]
[ Declaratii operatii]
End Class
Definirea clasei:
Public Class Persoana

End Class
Utilizarea clasei (instaniere) varianta 1:
Dim Ionescu As Persoana
Ionescu=New Persoana()
Utilizarea clasei (instaniere) varianta 2:
Dim oPersoana As Persoana=New Persoana()
Conf. dr. Cozgarea Adrian

Definirea atributelor
Sintaxa:
[acces][Shared][ReadOnly] [Dim] listAtribute

Accesarea atributelor:
numeObiect .numeAtribut
numeClas.numeAtribut

Conf. dr. Cozgarea Adrian

' atribut de instan)


atribut partajat(de clas)

Clasa cu atribute
Definirea clasei:
Public Class Persoana
Dim CNP As String
' Echivalent cu Private CNP As String
Public NumePrenume As String
Private DataNasterii As Date
Public Shared TotalPersoane As Long
End Class
Instanierea clasei (numai la nivel operatie!):
Dim oPersoana As Persoana
oPersoana=New Persoana
Accesarea atributelor (numai la nivel operatie!):
oPersoana.CNP="113240932
eroare, atributul nu poate fi accesat !
oPersoana.NumePrenume="Ionescu Viorel"
Persoana.TotalPersoane=1
' accesarea atributului partajat
Conf. dr. Cozgarea Adrian

Metode
O metod/operatie poate fi implementata prin:
1. Funcie (Function) returneaza o valoare (la incheierea executiei)
2. Procedura (Sub) nu returneaza valoare

Conf. dr. Cozgarea Adrian

Definirea metodelor
[acces][modif][Shared] Sub nume ([listParametri]) [Handles listEvenimente]
[instruciuni1]
[ Return]
[instruciuni2]
End Sub
[ Exit Sub]

[acces][modif][Shared] Function nume ([lstParam]) [AS tipReturnat] [Handles listEven]


[instruciuni1]
[ Return expresie]
[instruciuni2]
End Function
[ Exit Function]

Modificatori:

Conf. dr. Cozgarea Adrian

Overloads
Overrides
Overridable
NotOverridable
MustOverride

Parametri
= date necesare execuiei unei metode/operaii
Sintaxa:
denumireParam As TipData

Transmiterea valorii unui parametru:


Prin valoare - ByVal (implicit)
Prin referin - ByRef

Exemplu:
Sub PrinValoare(ByVal p as Integer)
p=p+1
End Sub
Sub PrinReferinta(ByRef p as Integer)
p=p+1
End Sub
Sub Apel()
Dim v As Integer=10
PrinValoare(v)
MsgBox (v)
' Afiseaza 10 (v ramane nemodificat !)
PrinReferinta(v)
MsgBox (v)
End Sub
Conf. dr. Cozgarea Adrian

' Afiseaza 11 (v este modificat !)

Accesarea metodelor:
numeObiect.numeMetoda metoda de instanta
numeClas.numeMetoda metoda partajata (de clas)
Public Class Factura
Private Numar As String
Private Valoare As Decimal
Private CotaTVA As Decimal

Public Function TotalValoare() As Decimal


Dim t As Decimal
t= Valoare+Valoare*CotaTVA
Return t
End Function
Public Sub AfiseazaValoare()
MsgBox (Numar & & TotalValoare())
End Sub
End Class
Conf. dr. Cozgarea Adrian

Metoda/operatia
1. Este singura zon din clas n care sunt permise instruciunile executabile
(IF, FOR, WHILE etc.)
2. Poate accesa orice atribut al clasei (indiferent de vizibilitatea acestuia)
3. Poate apela orice alt metod a clasei

4. Variabilele/constantele definite n cadrul su sunt valabile numai n


interiorul acesteia ( o metod nu poate accesa variabile de memorie
definite n alt metod)

Conf. dr. Cozgarea Adrian

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