Sunteți pe pagina 1din 6

BILET 2-Depozit la termen

1. Incapsularea descrie capacitatea obiectelor de a contine la un loc atat date cat si prelucrari,
dintre care doar o parte sunt vizibile din exterior. Prin urmare, incapsularea se refera la 2
aspecte:

-capacitatea obiectelor de a detine atat date cat si prelucrari

-ascunderea anumitor date sau prelucrari

Principiul incapsularii impune ca toate datele sau atributele de instant sa fie invizibile sau accesibile din
exteriorul claselor sau obiectelor. Accesarea acestor date fiind posibila din exterior numai prin
intermediul unor metode/operatii dedicate. Aceste operatii vor forma interfata clasei.

In acest fel, obiectele sunt percepute ca niste cutii negre care ascund detaliile de implementare si ofera
in schimb o interfata mai simpla pentru rezolvarea unei probleme.

Prin incapsulare, prin ascunderea informatiei mai precis, se asigura o securitate a datelor detinute de
obiecte impotriva accesarilor accidentale sau neautorizate.

In scopul asigurarii unei flexibilitati, in protectia membrilor unei clase, limbajele de programare ofera un
set de calificatori de vizibilitate, dintre care cei mai utilizati sunt: claificatorul “PUBLIC”, care
desemneaza un atribut/operatie/membru accesibil din exteriorul clasei.

Calificatorul “PRIVAT” desemneaza un membru inaccesibil din exteriorul clasei.

Calificatorul “PROTECTED” desemneaza un membru accesibil numai din clase derivate prin mostenire.

Exemplu din realitate: Vom implementa o clasa noua numita “raft” care va avea ca proprietati “ numar”
si “continut”. Atribuim atributului “numar” valoarea “1” si atributului “continut” valoarea “fructe”.
Asadar am crear un obiect al clasei “raft” care este primul intrat in clasa si contine fructe. Aceasta clasa “
raft” va fi in relatie cu clasa “ fructe”, ceea ce rezulta ca el contine obecte de tip “ fructe”. Asadar,
incapsulam in clasa “raft” mai multe obecte de tip “fructe”.

2. Erorile si exceptiile din vb.net. Exemple

Eroare=greseala/imprefectiune care impiedica functionarea normal a programului

Depanare=procesul prin care sunt identificate si eliminate erorile din program

Tipuri de erori in programare:

-erori de sintaxa

Exemplu

Dim Numar Integer correct: dim numar as integer

Numar:==1 opratorul de atribuire este gresit (=)

MsgBox(Numar==1) operatorul de comparative este gresit(=)


MgBox(“Mesaj”) corect: MsgBox(“Mesaj”)

-erori de executie

Exemple:

1.Accesarea unui membru al unui obiect neiniţializat:

Dim Fact As Factura

Fact.Numar="1234" genereaza o eroare de tip NullReference !

2.Depăşirea limitei unui tablou sau a unei colecţii:

Dim tablou(1) As Integer

tablou(0) = 10

tablou(1) = 20

tablou(2) = 30 ‘genereaza o eroare de tip IndexOutOfRange !

3.Utilizarea, în expresii, a unor date nepotrivite ca tip:

Dim tva As Double

tva= TextBox1.Text * 0.19 ' InvalidCast daca TextBox1 contine o val. <> nr.

3. Depăşirea domeniului aferent unui tip de date:

Dim x, y, z As Byte

x = 30

y = 10

z = x * y ‘genereaza o eroare OverflowException (300>255)!

-erori de logica

1. Omiterea unor elemente la parcurgerea unui tablou/colecţii:

Dim multime As ArrayList=new ArrayList(), sumaElemente As Integer

...

For iAs Integer = 1 To multime.Count-1 ‘se începe cu al doilea element !

sumaElemente = sumaElemente + multime.Item(i)

Next

2. Crearea unui ciclu infinit:

Dim multime As ArrayList=new ArrayList(), total As Integer, i As Integer


...

i=0

While i< multime.Count

total = total + multime.Item(i)

End While ‘ variabila iramane la valoarea 0 !

4. Ignorarea precedenţei operatorilor:

Function Media(x1 As Double, x2 As Double) As Double

Return x1 + x2 / 2 ‘ media este calculată gresit! Corect: (x1+x2)/2

End Function

Excepţie = orice eroare/comportament neaşteptat al aplicaţiei.

Excepţiile .NET = clase derivate din System.Exception Proprietăţi utile:

– Message

– Source

Exemplu:

Dim tva As Double Try

tva = TextBox1.Text * 0.19 instructiunea care poate genera exceptia

Catch ex As Exception

MsgBox("TVA-ul nu poate ficalculat !", MsgBoxStyle.Critical) intructiunea executata la aparitia


exceptiei

End Try

3. Private _Numar as Integer

Public Property Numar () as Integer


Get

Return _Numar

End Get

Set(value as integer)

If value <0 then

Msgbox(“Numarul este eronat”)

Else

_numar=value

End if

End set

End property

Private _data as date

Public property data() as date

Get

Return_data

End get

Set (value as date)

If value < #01/01/2014# then

Msgbox(“Data este eronata!”)

Else

_data=value end if end set

End property

Public durata as integer

Public sumainitiala as decimal

Public ratadobanda as decimal

Public function venit()

Return sumainitiala+sumainitala*ratadobanda

Endfunction

End class
Public class form1

Public sub button_click(sender as object, e as eventargs) handles button _click

Dim x as new depozitlatermen

x.numar=txtnumar.text

x.data=txtdata.text

x.sumainitiata=txtsumainitaiala.text

x.ratadobanda=txtratadobanda.text

end sub

end class

public class depozite

public coldepozite as new arraylist

public function venituri2015() as decimal

dim sum as decimal=0

for each x as depozitlaterment in coldepozite

if(x.data)<2015 then

sum+=x.venit()

end if

next

return sum

end function

public function depozitmin() as depozitlatermen

dim fmin as depozitlatermen

if coldepozite.count=0 then return nothing

fmin=coldepozite.item(0)

for each x as depozitlatermen in coldepozite

if fmin.sumainitiala>x.sumainitiala then

fmin=x

end if

next
return fmin

end function

end class

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