Extras din curs
Programarea orientată – obiect (POO) revoluţionează aproape orice aspect al dezvoltării aplicaţiilor cu Visual FoxPro, de la faza de analiză şi proiectare până la faza de scriere a codului de program şi testarea aplicaţiilor şi a componentelor aplicaţiilor. De asemenea, Visual FoxPro , ca şi Visual C++ de altfel, este un limbaj hibrid, adică dezvoltatorii de programe pot alege între metodele POO şi programarea modulară. POO sre o altfel de abordare decât programarea modulară, în faptul că POO lucrează cu entităţi de genul obiectelor.
Dacă se doreşte adaptarea unei aplicaţii într-o nouă formă, având în vedere că există o formă modificată a unei aplicaţii mai vechi, se realizează modificările pe baza unui procedeu numit subclasare, şi anume preluarea vechilor obiecte ale aplicaţiei şi modificarea acestora după noile proprietăţi. Comportamentul şi atributele obiectelor originale sunt automat aduse şi la noile obiecte modificate, acest lucru numindu-se moştenire. În schimb dacă se modifică cumva obiectele originale, schimbările făcute sunt aduse imediat şi asupra obiectelor noi, realizate cu ajutorul subclasării, prin modificarea obiectelor originale.
POO utilizează nişte termeni, pentru a explica expres conceptele POO, şi anume: moştenire, încapsulare şi polimorfism.
Primul şi cel mai important concept cheie al POO este obiectul. Un obiect este un pachet de informaţii şi acţiuni. Un obiect se conţine pe sine. Toate cunoştiinţele şi comportamentele unui obiect sunt conţinute în acesta. Acest concept este cunoscut sub numnele de încapsulare. Orice obiect este caracterizat de propiretăţi şi evenimente.
Proprietăţi
Datele dintr+un obiect sunt denumite proprietăţi. O proprietate (în termenii Visual FoxPro) este foarte simplu o variabilă de memorie care este ataşată la obiect şi care are un anumit scop. Utilizarea valorii proprietăţii şi modificarea ei se face utilizând numele obiectului urmat de punct (.) şi apoi de numele proprietăţii. Propreităţile pot conţine orice tipuri de date care sunt valide pentru variabilele de memorie Visual FoxPro. De exemplu, dacă avem o proprietate numită lEsteNou care este ataşată la un obiect numit oTest, se poate interoga valoarea proprietăţii în felul următor:
oTest.lEsteNou
Metode
Pe lângă faptul că obiectele au date ataşate, ele pot executa anumite acţiuni. Aceste acţiuni sunt reprezentate de fapt de codul de program care este scris în procedurile care sunt ataşate la obiect. Aceste proceduri sunt denumite de fapt metode. Apelarea unei metode se face în mod asemănător cu a unei proprietăţi, şi anume numele obiectului, urmat de punct (.) şi de numele metodei, după cum urmează:
oTest.Print()
Tehnic, parantezele care apar la sfârşitul numelui metodei sunt necesare numai dacă se aşteaptă returnarea unei valori sau dacă cumva se transmit parametrii metodei. Sugestia noastră este de a se utiliza întotdeauna paranteze pentru siguranţă, în acest caz fiind şi siguri că se apelează o metodă. În cazul apelării unei metode după care se aşteaptă returnarea unei valori, se poate salva valoarea returnată în modul următor:
lValoareReturnată = oTest.Print()
Evenimente
Evenimentele sunt acţiuni care se întâmplă. De exemplu, făcând click pe butonul stânga al mouse-ului se declanşează un eveniment. Evenimentele pot fi cauzate de acţiunea utilizatorului (ca în cazul de mai sus) sau de către sistem însuşi (ca în cazul în care apare o eroare). Dacă creezi o clasă de tipul unui buton de comandă în Visual FoxPro, poţi ataşa cod (ca o metodă) la evenimente. Dacă se declanşează evenimentul (de exemplu, utilizatorul face click stânga cu mouse-ul deasupra butonului de comandă), metoda asociată (care este metoda click) este apelată automat. În Visual FoxPro, se pot ataşa metode la tot felul de evenimente: dacă se dă click pe mouse, dacă se ia mâna de pe mouse, se poate apela o metodă în momentul în care un obiect este creat (evenimentul Init) sau invers în momentul în care obiectul este şters (evenimentul Destroy). Apelarea evenimentelor se face în acelaşi mod ca şi apelarea metodelor.
Clase
Până la acest punct, toate discuţiile din acest capitol au fost centrate în jurul obiectelor. În programarea orientată-obiect, obiectele nu sunt niciodată programate, ci mai degrabă obiectele de bază (numite clase) pot fi programate. Toate obiectele sunt instanţiate (adică, create) pornind de la clase. De aceea, toate programele se fac la nivelul clasei. Odată un obiect instanţiat pe baza unie clase, tot ceea ce trebuie să faci este să interacţionezi cu el. Nu se adaugă sau se modifică metode existente într-un obiect, ci mai degrabă se adaugă şi se modifică metode în clase pe baza cărora se instanţiază obiectele.
Un exemplu de clasă:
DEFINE CLASS Clasă AS Custom
cNume = ""
cTip = ""
lEsteNou = F.
PROCEDURE AratăValoare
? this.cNume
? this.cTip
IF this.lEsteNou
? "Sunt Nou
Preview document
Conținut arhivă zip
- Introducere in Programarea Orientata - Obiect
- Introducere in POO.doc
- POO Anca.doc
- POO in VFP 6.0.doc
- POO.doc