Extras din curs
Cuvinte importante:
- concepte fundamentale ale programarii orientate obiect in Java: incapsulare, mostenire, polimorfism;
- crearea claselor de obiecte: definirea claselor; modificatorii pentru tipurile de clasa; modificatorii de acces;
- variabilele (campurile) clasei de obiecte: declararea variabilelor de instanta; declararea variabilelor de clasa; declararea constantelor;
- domeniul de vizibilitate (acces) al variabilelor folosite in clasele de obiecte: domeniul de vizibilitate al variabilelor locale; domeniul de vizibilitate al variabilelor clasei; modificatorii de acces (vizibilitate);
- metodele unei clase de obiecte: definirea si apelul metodelor; modificatorii de metoda;
- metode de instanta si metode de clasa;
- domeniul de vizibilitate (acces) al metodelor unei clase: modificatori de acces; referinta this;
- metode constructor: caracteristici, supraincarcarea metodelor constructor; cuvantul-cheie this pentru constructori;
- initializatori statici.
Concepte fundamentale ale programarii orientate obiect (OOP) in Java
In Java un obiect este o variabila complexa care se caracterizeaza prin:
- o structura, descrisa de atributele (proprietatile) sale;
- o stare, descrisa de valorile pe care le ia la un moment dat atributele sale;
- un set de operatii prin intermediul carora se poate manevra (accesa sau modifica) starea sa.
1. Conceptul de incapsulare
Obiectul trebuie privit ca o unitate atomica la care utilizatorul nu ar trebui sa aiba acces direct. Acest principiu al OOP este cunoscut sub numele de “ascunderea informatiei”. Acest principiu spune ca un obiect poate fi accesat numai prin intermediul metodelor care au fost furnizate impreuna cu obiectul.
In legatura cu principiul “ascundrii informatiei”, programarea orientata obiect a introdus conceptul de incapsulare.
Incapsularea inseamna gruparea datelor si a operatiilor asupra acestor date in acelasi intreg (agregat) avand grija sa se ascunda detaliile de implementare (proiectare-realizare) ale acestui intreg. Deci, datele sunt “ascunse”, iar accesul la aceste date se realizeaza numai prin intermediul metodelor incapsulate cu ele.
2. Mostenirea
- este un alt concept fundamental al OOP.
Mostenirea permite unei clase sa mosteneasca atributele si metodele unei alte clase existente.
Prin mostenire, o clasa noua dobandeste imediat tot comportamentul unei clase existente. Aceasta clasa noua se numeste clasa derivata din clasa existenta. O clasa de obiecte derivata dintr-o alta clasa existenta pastreaza toate proprietatile si metodele acesteia din urma aducand, in plus, proprietati si metode noi.
Prin mostenire, toate clasele sunt aranjate intr-o ierarhie stricta. De exemplu, intr-o ierarhie stricta sunt aranjate si clasele provenite din biblioteca de clase Java.
In ierarhia de clase, clasa care mosteneste alta clasa este denumita subclasa, iar clasa care isi ofera mostenirea se numeste superclasa.
Mostenirea da posibilitatea extinderii functionalitatii unui obiect. Cu alte cuvinte se pot crea noi clase de obiecte care sa extinda proprietatile si metodele clasei originale.
Vom reveni asupra mecanismului de mostenire intr-o lectie viitoare.
3. Polimorfismul
este al treilea concept fundamental in OOP.
Polimorfismul reprezinta capacitatea de a aparea sub diferite forme. De exemplu, in lumea reala, apa apare sub forma solida, sub forma lichida sau sub forma gazoasa.
In Java, polimorfismul inseamna ca o singura variabila referinta de tipul unei superclase poate fi folosita pentru a referi mai multe obiecte (instante) din clase derivate direct sau indirect din aceeasi superclasa, in diferite momente ale executiei unui program. Unele dintre proprietatile si metodele definite in superclasa pot fi redefinite (rescrise) in subclasele de obiecte derivate.
Redefinirea proprietatilor si metodelor in subclasele derivate direct sau indirect dintr-o superclasa ne da, de fapt, o mare flexibilitate in constructia ierarhiei de clase pentru o problema de rezolvat, pentru ca nici o proprietate sau metoda definita intr-un punct al ierarhiei nu este impusa definitiv pentru clasele derivate din acest punct direct sau indirect.
Vom reveni asupra mecanismului de polimorfism intr-o lectie viitoare.
Conceptele fundamentale prezentate mai sus sunt folosite pentru a indeplini unul din principalele scopuri ale OOP si anume reutilizarea codului (refolosirea obiectelor sau refolosirea unor programe).
Preview document
Conținut arhivă zip
- Curs 1.doc
- Curs 2.doc
- Curs 3.doc
- Curs 4.doc
- Curs 5.doc
- Curs 6.doc
- Curs 7.doc