Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Examen POO
- Beneficii tipuri abstracte :
- 1) ofera mai mare modularitate.
- 2) sporeste usirinta intretinerii codului.
- 3) incapsulare : complexitatea interna, datele si detaliile operatiilor sunt ascunse.
- Obiect -> componenta software care incorporeaza atat atribute cat si metode si care suporta mostenirea.
- Abstractizare -> "ascundem" anumite functionalitati pe care nu e nevoie sa le stim. Detaliile neimportate ale obiectului sunt filtrate.
- Asocieri -> lucruri despre care stie un obiect, dar care nu sunt parte a acelui obiect.
- Stare -> colectie a tuturor proprietatilor obiectului, se schimba daca o proprietate se schimba.
- Clasa unui obiect -> categoria obiectului (defineste capabilitatile si proprietatile)
- Variabile instanta -> definesc valorile unui obiect, ele sunt create atunci cand obiectul este creat; ele exista de cand obiectul este creat si pana cand acesta este distrus.
- Variabilele locale ale unor metode -> definite pe stiva metodei si exista atat timp cat metoda este executata eroare de compilare daca incercam sa accesam o variabila locala a unei metode dintr-o metoda imbricata.
- Incapsulare -> nu este nevoie sa stii cum functioneaza o masina pentru a o conduce (datele nu pot fi accesate direct din afara)
- (ofera securitatea datelor)
- Mostenirea -> unele clase preiau proprietati din alte clase (ofera reutilizarea codului si evita duplicarea datelor)
- Polimorfism -> abilitatea de a lua multe forme (aceeasi metoda folosita intr-o superclasa poate fi suprascrisa in subclase pentru a da o functionalitate diferita.
- Applet -> un program Java destinat a fi rulat dintr-un browser web.
- Modificator de acces pentru variabile / metode :
- 1) private (variabila/metoda vizibila local in cadrul clasei)
- 2) protected (variabila/metoda poate fi vazuta de toate clasele/subclasele din acelasi pachet)
- 3) public (vizibila tuturor)
- Conversia de tip explicita (type cast) ia o valoare de un tip si produce o valoare echivalenta de alt tip.
- Static -> nu apartine niciunui obiect anume
- Intr-o clasa putem avea mai multe metode main, cu conditia sa aiba argumentele diferite.
- Applets nu au main(), in schimb au metode precum init() start() stop(), in rest clasele din Eclipse au nevoie de metoda declarata.
- Variabilele se initializeaza implicit cu char " ", int cu 0, float si double cu 0.0, boolean cu false si String cu "null".
- Clasele invelitoare sunt clasele care incapsuleaza tipurile primitiva, astfel incat sa se poata manipula ca niste obiecte si pentru a le putea atasa metode.
- Boxing (impachetare) - procesul de trecere de la o valoare primitiva la un obiect al unei clase invelitoare.
- Unboxing (despachetare) - procesul de trecere de la un obiect al unei clase invelitoare la valoarea corespunzatoare a unui tip primitiv.
- Numirea constantelor - public static final double CONSTANT_C1 = 20; (toate cu majuscule, limitate de _)
- Toate obiectele sunt create in memorie (pe heap - zona de memorie unde se face alocarea dinamica)
- In Java nu exita variabile obiecte, doar variabile referinta la obiecte.
- Constructor - initializeaza starea unui obiect. Se initializeaza toate atributele obiectului.
- Supraincarcarea unei metode - scrierea unei metode cu acelasi nume, dar cu argumente diferite.
- Orice clasa (inclusiv cele abstracte trebuie sa aiba cel putin un constructor)
- Metodele, variabilele si metodele sunt alocate in stack sau in heap :
- - variabilele instanta si obiectele se aloca pe heap.
- - variabilele locale se aloca pe stack.
- Clasa Object – mama tuturor claselor in Java.
- toString() – returnează un String (reprezentare "citibilă" a obiectului)
- equals(Object obj) – trebuie să fie suprascrisă pentru a realiza egalitatea de conţinut în subclase.
- Egalitatea de identitate care înseamnă că două expresii au aceeaşi identitate (adică reprezintă acelaşi obiect)
- Egalitatea de conţinut care înseamnă că două expresii reprezintă obiecte cu aceeaşi valoare/conţinut.
- În general, o interfaţă este un dispozitiv sau un sistem pe care entităţi ne-înrudite îl folosesc pentru a interacţiona.
- O interfaţă este o colecţie de constante si definiţii de metode, fără implementări, colecţie careare un nume.
- Interfețele sunt niște contracte care obligă o clasă să implementeze anumite functionalități, fără ca să spună nimic
- despre cum trebuie implementate.
- Unified Modeling Language (UML)
- Aserțiunile sunt niște mecanisme ce permit testarea logicii programului în faza de dezvoltare
- Invarianți interni – presupuneri că anumite porțiuni de cod sunt adevărate tot timpul
- Invariantul clasei – ce trebuie să fie adevărat tot timpul legat de variabilele de instanță
- O excepţie: o problemă care apare în cursul execuţiei unui program
- La apariţia unei excepţii, JVM creează un obiect de clasa Exception care conţine informaţii despre problema apărută
Add Comment
Please, Sign In to add comment