Documente Academic
Documente Profesional
Documente Cultură
Limbaje
Limbaje
Avantaje:
->programele interpretoare sunt lansate mai rapid decat cele compilatoare
-> asigura o portabilitate crescuta fata de cele compilatoare ,deoarece un astfel de program poate fi rulat pe orice procesor ce dispune de interpretorul respective
Dezavantaje:
->programele interpretoare sunt executate mai lent decat cele compilatoare
->interpretarea programelor reprezinta o operatie care necesita un consum ridicat de memorie,deoarece in timpul executiei unui program intepretat va exista incarcat in memorie si interpretorul
->programele interpretoare ofera o securitate redusa a codului sursa
Compilatoarele=un program care citeste si traduce dintr-o data tot programul scris in limbaj evoluat, in limbaj cod-masina,rezultatul se concretizeaza in unul sau mai multe fisiere lunare si pot fi lansate in executie din sistemul de operare
Avantaje:
->fisierele regulate in urma compilarii sunt mult mai rapide in executie decat programele interpretate
->programele compilate asigura o protectie ridicata a codului sursa
Dezavantaje:
->au o portabilitate redusa comparativ cu cele interpretate deoarece programele compilatoare contin intrctiuni cod-masina
Etapele conceperii si realizarii programelor:
1. Analiza- etapa prin care este definite problema si cerintele viitoarei aplicatii
2. Proiectarea- se obtine o solutie conceptuala a viitoarei aplicatii, se realizeaza in termini abstracti,independeti de limbajul de programare
3. Implementarea – scrierea codului
4. Testarea – validarea programului in raport cu cerintele utilizatorului final
5. Exploatarea – programul este pus in funtiune
Algoritmi
Algoritmi= desemneaza o metoda prin care sunt descrise etapele necesare unei problem
EX:
- Algoritmul lui Euclid;
- Algoritm pentru descarcarea unei gestiuni:FIFO,LIFO,CMP;
- Algorimul de stabilire a soldului final al unui cont;\
- Algoritmi de sortare;
Pentru aceeasi problema pot fi utilizati mai multi algoritmi, situatie in care se impune alegerea algoritmului cel mai eficient.
Eficienta unui algoritm se poate determina in functie de resursele necesare executiei sale, care resurse avem in vedere:
- Timp necesar executiei algoritmului;
- Capacitate de memorie.
Caracteristici
1. Generalitatea – un algoritm vizeaza o clasa generala de problem si nu una particulara
2. Finititudinea – proprietatea prin care un algoritm presupune un nr. limitat de etape care conduc la obtinerea unei solutii
3. Unicitatea – proprietatea in functie de care acestia conduc la obtinerea aceluiasi rezultat daca se pleaca de la aceleasi date de intrare
4. Claritatea – etapele aferente unui algoritm sunt precizate cu exactitate, fara ambiguitati
Clasificare
I. Metoda de proiectare - in functie de aceasta algoritmii pot fi clasificati in:
a. Backtracking – algoritmi bazati pe metoda cautarii cu revenire aplicabila pt problemele care pot avea solutii obisnuite prin cautari repetate
EX: algoritm pentru iesirea dintr-un labirint(aplicatie pentru jocuri)
Algoritm pentru rezolvarea unei probleme clasice privind plasarea a 8 regine pe o tabla de sah astfel incat acestea sa nu se atace reciproc.
b. Divide et empera – au la baza un principiu mai vechi si anume acela de descompunere a unei probleme complexe in unele simple care genereaza rezolvarea problemei initiale
c. Genetici – provin sau au fost conceputi pe baza teoriei genetice si a selectiei natural EX: domeniul inteligentei artificiale.
Acestia isi gasesc utilizarea in rezolvarea unei probleme de optimizare , control, strategie(jocuri), modelare.
d. Greedy – tehnica optimului local care urmareste obtinerea unei solutii generale prin repetarea unor solutii particulare(
II. Metoda de implementare – in functie de aceasta tehnica algoritmii pot fi clasificati in:
a. Algoritmi interativi – este un algoritm al carui pasi sunt executati repetat pana la obtinerea solutiei finale
b. Algoritmi recursivi – orice algoritm se poate transforma in mai multi algoritmi interativi
Pentru a descrie un algoritm se pot distinge doua metode:
I. Metoda pseudocod – este un limbaj derivate din limbajul natural format dintr-un se restrains de propozitii sau de expresii grupate de regula in 2 categorii:
Expresii standard (START,STOP,If <…> Then)
Expresii nestandard (Read,Write,Count)
II. Scheme logice - tehnica de descriere grafica a unui algoritm, formata din mai multe blocuri conectate prin sageti
Blocul de inceput/sfarsit : START, STOP
Blocul de decizie(romb) : conditia in functie de care se va ramifica executia algoritmului
Blocuri pt operatii de citire/scriere(casete):instructiunile
Conectori: sunt utilizati atunci cand schema logica trebuie continuata pe urmatoarea pagina
Metode de programare
Metoda de programare= un set de concepte, reguli,tehnici si princpii dupa care programatorii se pot ghida in dezvoltarea propriilor aplicatii
Cele mai importante metode de programare:
Metoda progrmarii structurate
Metoda programarii spre obiecte
Metoda programarii dirijata de eventimente
I. Metoda programarii structurate – este o tehnica bazata pe principiul “divide et impera”, conform careia un program,o aplicatie este perceputa ca un ansamblu de subprogram sau module
Orice subprogram este descris de doua elemente:
Antet-este format din denumirea suprogramului + eventuali parametrii necesari acestuia
Corp – format dintr-un set de instructiuni correlate logic,acest corp poate sa nu contina nicio instructiune
Din punct de vedere al implementarii subprogramele pot fi definite in limbajele de programare sub doua forme:
Proceduri – un subprogram care nu returneaza valori la terminarea executiei sale
Functia – un subprogram care returneaza valori la terminarea executiei
Orice algoritm poate fi rezolvat prin intermediul a trei structuri de control:
1. Liniara – este cea mai simpla, considerate implicita,structura dupa care un program sau un subprogram este executat instructiune cu instructiune incepand cu prima instructiune, terminand cu ultima
2. Alternativa – se implementeaza prin structure de tip “IF”, presupune executia ramificata a unui program in functie de o conditie
3. Repetitiva – este o structura formata dintr-un set de instructiuni care vor fi executate cat timp este indeplinita o conditie
II. Metoda programarii pe obiecte – o aplicatie este perceputa ca un ansamblu de obiecte ce comunica intre ele prin intermediul mesajelor
Obiectul –reprezinta o entitate , o identitate proprie caracterizata prin stare si comportament
Metodele unui obiect formeaza latura functionala a acestuia.
1. Abstractizarea- procesul prin care se identifica si se retin aspectele cele mai importante ale unui domeniu analizat
In programarea orientata pe obiecte abstractizarea poate fi aplicata in doua variante:
Aplicarea abstractizarii obiectelor care are ca rezultat clasele
Abstractizarea claselor – rezulta clase abstracte
Tehnica abstractizarii este folosita cel mai frecvent in cazul obiectelor cu proprietati asemanatoare, astfel prin abstractizarea junor obiecte definite prin aceleasi caracteristici si comportament se obtine o clasa
2. Clasa – un tip abstract de date obtinut prin abstractizarea unor obiecte asemanatoare
Membrii unei clase:
Membrii de clasa- attribute si metode
Instantele clasei – membrii de instant
Din punct de vedere structural o clasa poate fi definite prin:
Denumire unica
Un set de atribute,proprietati,care vor avea valori concrete pentru fiecare obiect al clasei
Operatii sau valori concrete partajate de obiectele clasei respective
Exemplu: Toate facturile disponibile la nivelul unui agent economic(nr., data, mod de facturare ) pot fi abstractizate intr-o clasa numita facture,clasa care contine atributele (nr., data, mod facturare,eventuale operatii)
O clasa trebuie sa ofere un set minimal de operatii sau metode grupate in 4 categorii:
a) Constructori – operatii destinate initializarii obiectelor unor clase
b) Destructori – operatii destinate distrugerii unei clase, eliminarii unor clase
c) Modificatori – operatii destinate actualizarii obiectelor claselor respective
d) Selectori – operatii destinate redarii, starea obiectelor unor clase
3. Incapsularea
->se descrie capacitatea unui obiect de a contine la un loc atat date cat si prelucrari;
-> in plus asigura protectia datelor si operatiilor unui obiect prin ascunderea acestora astfel incat sa nu fie vizibile din exterior;
->obiectele sunt inaccesibile, accesarea lor fiind posibila doar prin intermediul unor operatii dedicate si anume selectori si modificatori
Majoritatea limbajelor de programare ofera un set de calificatori destinati reprezentarii vizibiltatii membrilor unei clase.
Calificatori de vizibilitate:
->public- vizibil din exterior
->private – desemneaza un membru invizibil din exterior
->protected – indica un membru vizibil numai pt clasele derivate prin mostenire
4. Mostenirea = procesul prin care toate atributele si operatiile unei clase numita clasa de baza/super clas sunt preluate automat de la o clasa inrudita numita si clasa derivata sau superclasa
Clasele derivate=pot contine si membrii diferiti de cei preluati din mostenire
Exemplu: Clasa persoana(CNP,Nume,Prenume,Data nasterii,metoda, varsta) poate fi derivate in clasa angajat,clasa definita prin atributele preluate de la superclasa persoana preluate/mostenite si membrii propii cum ar fi atributele(marca,profesie,operatie total venit). Orice angajat reprezinta un obiect derivate din persoane.
Mostenirea simpla- o singura clasa parinte
Mostenirea multipla – mai multe clase parinti
O clasa derivata copil ( subclasa ) poate contine si membrii atribute sau operatii specifici, proprii, diferiti de membrii preluati prin mostenire.
Exp: Clasa: PERSOANA
Atribute
CNP
NumePrenume
DataNasterii
Operatii
Varsta ( )
Exp 2: Clasa: ANGAJAT → poate fi considerata o clasa derivata din clasa PERSOANA deoarece orice angajat este si o persoana.
In baza relatiei de mostenire definite intre cele doua clase, angajatul va prelua automat atributele CNP, NumePrenume si DataNasterii precum si operatia Varsta ().
In plus, acelasi angajat poate sa contina si atribute specifice Marca si Profesia, precum si operatii precum TotalVenituri ( ).
Definirea celor doua clase se va face in felul urmator: mai intai se defineste cele treia atribute (CNP, NumePrenume si DataNasterii ) si operatia Varsta (), dupa care se defineste clasa Angajat, ca o clasa derivata din Persoana pentru care se vor specifica numai membrii specifici.
Relatia de mostenire poate continua la un alt nivel mult mai detaliat.
Clasa: ANGAJAT
Atributele
CNP
NumePrenume → membrii mosteniti (italic)
DataNasterii
Marca
Profesia
Operatii
Varsta ( )
TotalVenituri ( )
5. Polimorfism= capacitatea obiectelor de a se comporta diferit la primirea aceluias mesaj sau invocarea aceleias metode In felul acesta obiecte de tipuri diferite pot obtine operatii cu aceeasi denumire, care sa execute actiuni diferite.
Exemplu:obiectul imprimanta se va comporta diferit la primirea mesajului tiparire in functie de text,grafic sau o imagine
Polimorfismul poate fi asigurat prin doua metode:
a) SupraIncarcare- procesul prin care la nivelul unei clase sunt definite mai multe operatii cu aceeasi denumire,diferenta fiind posibila insa prin parametrii diferiti
Exemplu:Pt clasa “cerc” pot fi definite doua metode deseneaza a.i. una dintre ele sa asigure trasarea cercului in functie de centru si raza, iar cea de a doua va permite desenarea cercului in functie de un pastrac iin care acesta poate fi insris
b) Rescriere/Suprascriere – redefinirea intr-o clasa derivata a unei metode preluate prin mostenire, aceasta constrand in modificarea corpului sau instructiuniilor
Exemplu: Se presupune clasa “Cerc” cu metoda ARIE , calculate cu metoda πR , clasa “Elipsa” va mostenii toate atributele + metodele clasei “Cerc” , dar metoda de calcul va fi πR1*R2.
Persistenta = descrie durata de viata a unui obiect in raport cu aplicatia pe care l-a creat, un obiect se numeste persistent daca acesta supravietuieste aplicatiei care l-a creat, starea si comportamentul unui obiect sunt conservate
Exp: VB.NET
Limbajul VB.NET
Este un limbaj de programare complet orientat pe obiecte
Impune declararea explicita a tipului pt fiecare valoare utilizata de program
Asigura tratarea structurata a erorilor care pot aparea in timpul unei executii
Permite utilizarea mai facila a spatiilor de nume
Platforma.NET reprezinta o librarie de date predefinite pe care programatorii le pot utiliza fie direct ca atare fie prin derivare in aplicatii.
Orice aplicatie formata prin Platforma.NET ( visual Basic ) poate fi rulata, executata numai in prezenta acestei platforme (librarii).
Clasele specifice platforma.net sunt grupate pe categorii ierarhice numite si spatii de nume. In felul acesta, identificarea unei clase va fi posibila numai prin precizarea spatiului de nume de care apartine respectiva clasa, sintaxa: denumireSpatiuNume.denumireClasa.
Spatiul de nume radacina din libraria.net se numeste System si contine peste 100 de clase dedicate tipurilor de date, gestionarii memoriei interne s.a.m.d plus alte cateva zeci de spatii de nume subordonate care la randul lor vor contine alte spatii de nume de clase.
Exp 1: FORM
System.Windows.Forms.FORM
IMPORTS - prin intermediul careia vor fi importate toate clasele aferente unui spatiu de nume in asa fel incat vor putea fi referite direct. Imports spatiuNume
System.Windows.Forms
Ex: Imports Math
System.Math
Mediul de dezvoltare Visual Studio – pentru dezvoltarea apliactiilor pentru platforma.net; instrument software care asista programatorii in dezvoltara aplicatiilor.
Gestionarea acestor fisiere este efectuata automat de catre mediul de dezvoltare Visual Studio, astfel:
-la crearea unei aplicatii VB va defini si un folder aferent aplicatiei, folder ce va fi compus din unul sau mai multe subfoldere aferente proiectelor care formeaza aplicatia ( cand este una complexa; de cele mai multe ori o aplicatie este formata dintr-un sigur proiect ).
Din pct de vedere conceptual structura unui fisier sursa este format din 3 nivele:
→ primul nivel, zona de nivel 0, este denumita zona/nivelul fisier si corespunde intregului fisier; in cadrul acestei zone pot fi definite numai instructiuni declarative, din care numai doua sunt importante si anume: instructiunea Imports si instructiunea prin care se defineste o clasa (Class – End Class );
→ al doilea nivel este zona de clasa ( sunt admise doar doua tipuri de instructiuni declarative:
1. instructiuni prin care se definesc atributele clasei;
2. intructiuni prin care de definesc operatiile, metodele clasei )
→ al treilea nivel, nivelul de metoda, operatie – zona din interiorul unei operatii sau metode; se mai numeste si corpul unei operatii, metode; la acest nivel, sunt permise atat instructiuni declarative (variabiele de memorie, constante ) precum si instructiuni executabile cum ar fi instructiunile if, for, while s.a.m.d.. Aceasta zona este singura care permite executarea operatiilor.
Visual Studio
Mediu integrat de dezvoltare ce poate fi utilizat pt crearea aplicatiilor destinate platformei .NET, indifferent de limbajul de programare
Acest mediu de dezvoltare asista programatorii atat in procesul proiectarii interfetei cu utilizatorul , cat si in scrierea codului propriu-zis
Tipuri de date VB.NET = un tip de date decrie un domeniu de valori, precum si operatiile ce se pot efectua asupra acestora. Limbajul VBN ofera mai multe tipuri de date commune platformei .NET
Clasificare
1. Tipuri valoare
Contin o valoare implicita, nu pot fi derivate si nici accesate direct prin denumire
Sunt prestate in memoria stiva,care functioneaza dupa principiul LIFO
Principalele tipuri valoare:
Tipul Boolean –accepta True/False, valoare implicita False,operatori logici(And,Or)
Tipul Numeric – operatori aritmetici, valoare implicita 0, tipuri numerice(byte,integer,decimal,single,doble)
Tipul Date – utilizat pt date calendaristice
2. TIpuri referinta - o data de tip referinta reprezinta defapt o adresa din memorie (pointer). O valoare de tip referinta contine adresa din memorie la care este pastrata valoarea propriu zisa. Spre deosebire de tipurile valoare, tipurile referinta nu au valori implicite si sunt pastrate intr-o alta zona de memorie numita HEAP (zona gramada).
Contine o adresa din memorie la care se afla inregistrata valoarea propriu-zisa
Nu poate fi accesat direct
Adresele sunt salvate in memoria stiva, iar valorile referite sunt salvate in memoria dinamica
Principalele tipuri referinta
Tipul Object – tip implicit in VB.Net
Tipul String – concatenare, returnare subsir, test existent a caractere, transformare caractere,inlocuire caractere
Conversia datelor
Conversia datelor= procesul prin care o valoare este transformata intr-un alt tip de date, nu se poate realiza intotdeauna fara pierderi de date
1. Conversia implicita – este realizata automat si presupune transformarea unei valori intr-un tip cu domeniul mai mare decat cel initial
2. Conversia explicita – este posibila prin apelarea unei functii specifice de conversie
3. Conversia cu extinderea domeniului – conversia unei valori intr-un tip de date cu domeniul mai mare decat cel initial, sunt implicite si nu genereaza pierderi de date
4. Conversia cu reducerea domeniului - conversia unei valori intr-un tip cu domeniul mai mic decat domeniul initial (long-byte), acest tip poate genera pierderi de date, motiv pt care nu poate fi efectuat, doar explicit
Exemple:
1) Conversia unei valori de tip byte in oricare din tipurile numerice integer, long, decimal etc.
2) Conversia unei valori de tip decimal in single sau double
Conversia unui obiect al clasei derivate int ipul precizat de clasa de baza. Ex: conversia unei valori de tip student intr-o valoare de tip persoana
6. Variabile – elemente ale unui program prin care se asigura pastrarea in memoria interna a datelor programului . reprezinta o zona din memoria interna in care este stocata o valoare de un anumit tip. Orice variabila este descrisa printr-un identificator sau o denumire, o valoare existenta la un moment dat si un tip de date afferent. Valoarea variabilei poate fi modificata pe parcursul executiei programului
Etapele necesare operarii cu variabile de memorie:
a. Declararea variabilei – “Dim” presupune precizarea denumiri si a tipului de date.
b. Initializarea – presupune precizarea valorii initiale
Exemplu:
Dim nrIntreg As Integer=100 ‘ declarare si initializare
Dim x, y AsSingle ‘ ambele variabile sunt de tipul Single
Dim sirCaractere As String=”abcdef”=> caractere care formeaza siruri
Dim numar1 As Byte=1, numar2 As Integer, ziua As Date=> definite 3 variabile initializate cu valoare 1, cu valoarea 0, valoare implicita tipului date;
7. Constante – zone din memoria interna in care sunt pastrate valori de un anumit tip, valori care o data atribuite nu mai pot fi modificate, se declara prin intructiunea “ Const”
Sintaxa: Const <numeConstanta> [As <tipData>]=<valoare>…
Exemplu:
Const PLAFON_MIN=1000304/11/2013#, tva As Decimal=0.24
Const DATA_CRT As DATE=#04/11/2013#, tva As Decimal=0.24
8. Operatori – Elemente care executa o operatie asupra uneia sau mai multor valori numite “operanzi”
Operatori aritmetici
Operatori de atribuire- prin intermediul carora se atribuie o valoare unei variabile
Operatori de comparare – returneaza o valoare booleana in functie de rezultat
Operatori de concatenare – prin care sunt alipite doua sau mai multe siruri
Operatori logici – pot fi aplicati asupra valorilor de tip Boolean (And, Or, Byte)
Operatori de instantiere – poate fi aplicat asupra unei clase si returneaza o instant noua a clasei respective
Precedenta operatiilor – descrie ordinea in care sunt executati separatorii cu limbajul VB.NET(aritmetici si de concatenare, de comparare, logici)
Concatenarea
Concatenarea=operatia prin care sunt alipite doua sau mai multe siruri de caractere , se poate executa doar cu tilul string
Operatorul de instantiere= este unul singur “New” poate fi aplicat unei clase si returneaza o sintaxa noua asupra clasei respective
Precedenta operatorilor= ordinea in care sunt executati operatorii in limbajul VB.NET,aceasta regula este implicita: mai intai sunt aplicati operatorii logici de concatenare
Instructiuni
1. Instructiuni declarative- prin acre sunt definite variabile de memorie , constant,membrii unei clase
Clas…End class
Const
Dim
Function…End function
Property …End property
Sub … End sub
2. Instructiuni executabile – declanseaza anumite operatii,cele mai importante sunt cele prin care se defines structurile alternative si repetitive
Alternative: If..End if, Select case… End Select
Repetitive: For…Next,While..End while
Imports: importa o expresie
Return : incheie executia unei proceduri
Return<expresie>: incheie executia unei functii
3. Functii intrinseci:
Functii pt conversii: CType
Functii pt siruri de caractere: index of (), replace ()
Functii pt date calendaristice: day (), month ()
Functii pt interactiunea cu utilizatorul final Msg Box ()
Structuri de control
1. Structura liniara – operatiile se executa in ordinea definirii lor, este implicita
Exemplu: Dim x AS Integer
X=10
X=x+1
MsgBox(x)
2. Structura alternativa - permite definirea unei ramificatii in program a.i executia acesteia va fi efectuata in funtie de o conditie
If – defineste o structura alternativa simpla
Select case – permite definirea unor structure alternative multiple
Try
Sintaxa: If conditie Then [instructiune 1][Else[instructiune2]]
Exemplu:
If Ctype(txtNota.Text,integer)<5 Then
MsgBox(„Nepromovat”)
Else
MsgBox(„Promovat”)
End If
Exemplu CASE:
Dim d As String = InputBox(“Tastati tip cont:”)
Select Case d. ToUpper() → metoda a tipului string care converteste caracterele
Case “A” in majuscule
MsgBox(“Cont de activ”)
Case “P”
MsgBox(“Cont de pasiv”)
Case “B”
MsgBox(“Cont bifunctional”)
Case Else
MsgBox(“Cont eronat!”)
End Select
Selectori/Modifi cato ri
Avantaje
Asigura inapsularea datelor
Ofera posibilitatea implementarii unor conditii de validare sau orice proprietate opereaza asupra unui atribut
Sintaxa generala a structurii
o GET- returneaza valoarea atributului
o SET – permite actualizarea atributului prin paramentrul VALUE, dar si definirea unor restrictii de validare
Etape:
a. Declararea atributului
b. Nivelul de vizibilitate
c. Declararea proprietatii
Tablouri si co lectii
Tabloul
Variabile de memorie ce contin mai multe elemente de acelas tip inregistrate in zone adiacente din memoria externa
Fiecare element al unui tablou este unic
Indexarea elementelor unui tablou incepe de la 0
Accesarea unui element se face dupa sintaxa: NumeTablou(index)
Daca elementele sunt de tip obiect: Tablou(index).nume membru
Daca elementele sunt de tip persoana: Persoane(index).nume
Declararea unui tablou se face prin sintaxa: Dim
O data definit un tablou ,nr de dimensiuni si tipul de data nu mai pot fi modificate , insa numarul de elemente da
Tipul de data al elementelor componente trebuie sa coincide cu tipul de data al tabloului din care face parte
Orice tablou reprezinta un obiect al clasei array prin urmare nu dispune de un set de proprietati si metode
Parcurgerea elementelor unui tablou se face prin structura repetitive FOR
Colectii
Variabile multivaloare care pot fi de tipuri diferite,celelalte elemente fiind inregistrate in zone neadiacecnte
Accesarea unei colectii se face mai lent decat a unui tablou
Indexarea elementelor unei colectii incepe de la 0
Permit adaugarea/eliminarea dinamica a elementelor
Arraylist- colectiile sunt stocate intr-un tablou intern si pot fi declarate dupa sintaxa:
Dim variabila as Array = New ArrayList()
Proprietati
Capacity
Count
Item (index as integer) – permite accesarea unui element din colectie
Metode
Add
Remove
Remove at
Clear
Parcurgerea elementelor unei colectii se face prin structura repetitive FOR EACH
Exceptii si ero ri
1. Erori – orice greseala care impiedica functionarea aplicatiei
Depanarea – identifica si elimina erorile unui program
Clasificare
a. Erori de sintaxa
apar in timpul scrierii programului atunci cand programatorul se abate de la regulile de sintaxa
expresia eronata este subliniata cu o linie albastra sau apare in fereastra “error list”
remedierea erorilor de sintaxa se face prin modificarea acestora
Erori de sintaxa in VB: a:= 1 -> corect a =1
b. Erori de executie
apar in timpul executiei programului
corectarea lor se face prin modificarea codului sau prin includerea instructiunilor care genereaza astfel de erori in blocuri de structure TRY…CATCH
c. Erori de logica
Genereaza rezultate eronate
Nu intrerup executia aplicatie
2. Exceptii
Comportamente neasteptate ale unei aplicatii
Include erori la executie,dar si erori generate de sintaxa
Orice exeptie este descrisa printr-un set de atribute si metode
Proprietati
Message – contine o descriere a exceptiei
Source – sontine denumirea aplicatiei care a generat erori
Tipuri de metode in VBN
Limbajul permite definirea unei metode in oricare din cele 4categorii. Metodele de tip constructor sunt metodele destinate instantierii clasei, iar in VB.NET aceste metode sunt sau pot fi definite sub forma unei proceduri cu numele rezervat NEW.
Constructori: - o clasa poate avea 0 sau n metode de tip constructor supraincarcati. Constructorii sunt proceduri cu denumirea NEW dar care se vor diferii pein parametrii. In situatia in care programatorul nu defineste niciun constructor pt o clasa, compilatorul va genera automat un constructor implicit in momentul compilarii aplicatiei.
Constructorii unei clase sunt apelati automat in momentul initializarii unui obiect aferent clasei respective, mai precis in momentul initializarii unei variabile cu operatorul NEW.
Ex: Sub NEW()
....
End Sub
Ex2: Dim oPersoana AS Persoana
oPersoana =NEW Persoana()
=> se apeleaza la unul din constructorii definiti anterior. Utilizarea constructorilor in VB.NET este optionala.
Destructori – sunt metodele invocate in momentul eliminarii sau stergerii unei instante, obiect din memorie.
Limbajul VB.NET nu ofera posibilitatea definirii unor constructori expliciti deoarece dezalocarea sau eliberarea memoriei a resurselor ocupate de un obiect reprezinta o operatie ce cade in sarcina sistemului si este de fapt realizata de acesta prin intermediul unui instrument softwear care reprezinta o mini aplicatie a lui GARBAGE COLLECTOR.
In Vb.NET eliminarea unui obiect din memorie reprezinta o operatie care se face in mod normal de catre sistem, programatorului revenindu-i unica sarcina, aceea de a-i atribui obiectului(variabilei de memorie) a valorii, a constantei NOTHING. At cand unui obiect ii este atrubuita aceasta valooare, zonele ocupate de acest obiect vor fi eliberate prin GARBAGE COLLECTOR.
Limbajul VB.NET ofera o metoda rezervata numita FINALIZE care poate fi utilizata la nivelul unei clase cu rol sau in scop de destructor. Apelarea la aceasta metoda este optionala si revine strict programatorului.
Selectorii si modificatorii – Limbajul VB.NET ofera o structura proprie si speciala dedicata selectarii si modificarii atributelor unui obiect, structura recunoscuta dupa denumirea PROPERTY.
Sintaxa acestei structuri este urm:
[acces][ReadOnly/WriteOnly] Property nume () [As tipRetturnat]
[access] Get
[insructiuni 1]
End Get