Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


Programarea Orientata pe Obiecte si Java

java



+ Font mai mare | - Font mai mic



Programarea Orientata pe Obiecte si Java

1.1.   Obiecte si clase

Programarea Orientata pe Obiecte (OOP) este una dintre cele mai mari idei de programare aparuta in anii 1990. Ideea centrala a OOP este: organizarea programelor astfel incat ele sa reprezinte un ecou al modului in care lucrurile sunt puse impreuna in lumea reala.



Exemplu:

Pentru cine nu s-a jucat niciodata cu Lego, acesta consta in diferite bucati de plastic, de diferite culori si dimensiuni. Ele sunt dotate cu crescaturi si adancituri prin intermediul carora piesele pot fi conectate intre ele. Cu diferite componente Lego se poate forma aproape orice: masini, oameni, castele, case, etc. in functie de imaginatia fiecaruia. Fiecare piesa de Lego este un mic obiect care impreuna cu altele ajuta la crearea altor obiecte mai mari. Exact asa stau lucrurile si in programarea orientata pe obiecte: obiecte mici puse impreuna formeaza obiecte mari.

Programarea orientata pe obiecte este gandita dupa modelul lumii reale - obiectele sunt adesea formate din mai multe tipuri de obiecte mici.

Cand scriem programe intr-un limbaj orientat pe obiecte, nu definim obiecte ci clase de obiecte, unde o clasa reprezinta un sablon pentru mai multe obiecte cu caracteristici similare. Clasele intrupeaza toate caracteristicile unei multimi particulare de obiecte. De exemplu, ne putem gandi la clasa Copac care descrie caracteristicile tuturor copacilor (au radacini, trunchi si frunze, cresc, produc clorofila, isi schimba frunzele, etc). Clasa Copac reprezinta un model abstract pentru conceptul de copac - pentru a planta un copac, a-l atinge, a-i rupe o frunza sau a-l taia avem nevoie de un copac concret, altfel spus de o instanta a copacului. Bineinteles ca, odata ce avem clasa copac, putem crea oricate instante diferite ale copacului respectiv - "copaci concreti". Acestia pot avea caracteristici diferite (unii sunt inalti, altii pitici, unii isi pierd frunzele toamna, altii nu, etc)

O alta notiune specifica OOP este cea de obiect. Obiect sau instanta a clasei reprezinta acelasi lucru. Clasa este reprezentarea generala a unui obiect iar instanta /obiectul este reprezentarea concreta a clasei.

1.2.   Atribute si comportamente

Fiecare clasa scrisa in Java are doua caracteristici de baza: atribute si comportament.

1.2.1.  Atribute

Atributele diferentiaza obiectele intre ele si determina aparenta, starea sau alte calitati ale obiectului in cauza. Daca ne gandim sa cream o clasa Masina, ea ar trebui sa includa urmatoarele atribute: culoare, stil, marca.

Atributele sunt definite in clase ca variabile. Tipul si numele variabilelor sunt definite in clase si fiecare obiect are valori proprii pentru fiecare atribut. Deoarece fiecare instanta a clasei poate avea valori diferite pentru variabilele sale, aceste variabile se mai numesc si variabile instanta.

Exemplu: O instanta a clasei masina, MasinaMea ar putea avea urmatoarele valori pentru atribute:

culoare = alb

stil = elegant

marca = Mercedes

Exista, de asemenea, si un alt tip de variabile numite variabile clasa. Diferenta dintre cele doua tipuri de variabile este aceea ca valorile variabilelor instanta sunt pastrate in instante si se schimba pentru fiecare instanta iar valorile variabilelor clasa sunt pastrate in clasa si nu se schimba pentru fiecare instanta. Asupra diferentei dintre cele doua tipuri de variabile o sa revin intr-un capitol urmator.

1.2.2.  Comportament

Comportamentul unei clase determina cum opereaza o instanta a unei clase. De exemplu, cum reactioneaza un obiect atunci cand un alt obiect sau o alta clasa ii cere sa faca ceva. Sa revenim la clasa Masina. Comportamentul unei masini consta in: porneste, opreste, franeaza, schimba viteza, schimba directia, etc.

Pentru a defini comportamentul unei clase se definesc metode, echivalentul functiilor sau procedurilor din alte limbaje de programare. Spre diferenta de alte limbaje de programare, in Java nu se pot defini functii in afara claselor. Prin urmare, metodele sunt functii definite in interiorul claselor care opereaza in instantele claselor respective.

Metoda unui obiect poate fi apelata de catre un alt obiect sau o alta clasa.

Ca si in cazul atributelor, exista doua tipuri de metode: metode instanta si metode clasa. Metodele instanta opereaza doar in cadrul instantei unei clase. In schimb, metodele clasa opereaza in interiorul clasei.

1.3.   Principiile OOP

Obiectul este o variabila care are o structura si o stare. Fiecare obiect dispune de operatii prin intermediul carora i se poate manipula starea.

Obiectul trebuie privit ca o unitate atomica pe care utilizatorul nu ar trebui sa o disece. De exemplu, cand lucram cu numere intregi, nu ne punem problema reprezentarii lor. Utilizatorul nu are acces direct la partile constituente ale unui obiect sau la implementarea sa; acestea vor putea fi accesate doar prin intermediul metodelor care au fost furnizate impreuna cu obiectul. Gruparea datelor si a operatiilor care pot fi efectuate asupra acestor date, avand grija ca detaliile de implementare sa fie ascunse, poarta numele de incapsulare.

Unul din principalele scopuri ale OOP este refolosirea codului. Limbajele de programare orientate pe obiecte furnizeaza mai multe mecanisme in acest scop.

  1. Folosirea codului generic - daca implementarea este identica, si difera doar tipul de baza al obiectului, nu este necesara rescrierea completa a codului - se scrie un cod generic care functioneaza pentru orice tip. De exemplu, se poate scrie o metoda care sa ordoneze un sir de numere intregi, caractere, siruri de caractere.
  2. Mostenirea este un mecanism care permite extinderea functionalitatii unei clase. Se pot crea noi tipuri de date care sa extinda (sau sa restrictioneze) proprietatile tipului de date original.
  3. Polimorfismul Un tip referinta polimorfic poate sa refere obiecte de mai multe tipuri. Atunci cand se apeleaza o metoda a tipului polimorfic, se va selecta automat metoda care corespunde tipului referit in acel moment.



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 1692
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved