PopaLepo

POO

Jan 17th, 2020
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.84 KB | None | 0 0
  1. Examen POO
  2.  
  3. Beneficii tipuri abstracte :
  4. 1) ofera mai mare modularitate.
  5. 2) sporeste usirinta intretinerii codului.
  6. 3) incapsulare : complexitatea interna, datele si detaliile operatiilor sunt ascunse.
  7.  
  8. Obiect -> componenta software care incorporeaza atat atribute cat si metode si care suporta mostenirea.
  9.  
  10. Abstractizare -> "ascundem" anumite functionalitati pe care nu e nevoie sa le stim. Detaliile neimportate ale obiectului sunt filtrate.
  11.  
  12. Asocieri -> lucruri despre care stie un obiect, dar care nu sunt parte a acelui obiect.
  13.  
  14. Stare -> colectie a tuturor proprietatilor obiectului, se schimba daca o proprietate se schimba.
  15.  
  16. Clasa unui obiect -> categoria obiectului (defineste capabilitatile si proprietatile)
  17.  
  18. 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.
  19.  
  20. 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.
  21.  
  22. Incapsulare -> nu este nevoie sa stii cum functioneaza o masina pentru a o conduce (datele nu pot fi accesate direct din afara)
  23. (ofera securitatea datelor)
  24.  
  25. Mostenirea -> unele clase preiau proprietati din alte clase (ofera reutilizarea codului si evita duplicarea datelor)
  26.  
  27. Polimorfism -> abilitatea de a lua multe forme (aceeasi metoda folosita intr-o superclasa poate fi suprascrisa in subclase pentru a da o functionalitate diferita.
  28.  
  29. Applet -> un program Java destinat a fi rulat dintr-un browser web.
  30.  
  31. Modificator de acces pentru variabile / metode :
  32. 1) private (variabila/metoda vizibila local in cadrul clasei)
  33. 2) protected (variabila/metoda poate fi vazuta de toate clasele/subclasele din acelasi pachet)
  34. 3) public (vizibila tuturor)
  35.  
  36. Conversia de tip explicita (type cast) ia o valoare de un tip si produce o valoare echivalenta de alt tip.
  37. Static -> nu apartine niciunui obiect anume
  38. Intr-o clasa putem avea mai multe metode main, cu conditia sa aiba argumentele diferite.
  39.  
  40. Applets nu au main(), in schimb au metode precum init() start() stop(), in rest clasele din Eclipse au nevoie de metoda declarata.
  41.  
  42. Variabilele se initializeaza implicit cu char " ", int cu 0, float si double cu 0.0, boolean cu false si String cu "null".
  43.  
  44. Clasele invelitoare sunt clasele care incapsuleaza tipurile primitiva, astfel incat sa se poata manipula ca niste obiecte si pentru a le putea atasa metode.
  45.  
  46. Boxing (impachetare) - procesul de trecere de la o valoare primitiva la un obiect al unei clase invelitoare.
  47.  
  48. Unboxing (despachetare) - procesul de trecere de la un obiect al unei clase invelitoare la valoarea corespunzatoare a unui tip primitiv.
  49.  
  50. Numirea constantelor - public static final double CONSTANT_C1 = 20; (toate cu majuscule, limitate de _)
  51.  
  52. Toate obiectele sunt create in memorie (pe heap - zona de memorie unde se face alocarea dinamica)
  53.  
  54. In Java nu exita variabile obiecte, doar variabile referinta la obiecte.
  55.  
  56. Constructor - initializeaza starea unui obiect. Se initializeaza toate atributele obiectului.
  57.  
  58. Supraincarcarea unei metode - scrierea unei metode cu acelasi nume, dar cu argumente diferite.
  59.  
  60. Orice clasa (inclusiv cele abstracte trebuie sa aiba cel putin un constructor)
  61.  
  62. Metodele, variabilele si metodele sunt alocate in stack sau in heap :
  63. - variabilele instanta si obiectele se aloca pe heap.
  64. - variabilele locale se aloca pe stack.
  65.  
  66. Clasa Object – mama tuturor claselor in Java.
  67. toString() – returnează un String (reprezentare "citibilă" a obiectului)
  68. equals(Object obj) – trebuie să fie suprascrisă pentru a realiza egalitatea de conţinut în subclase.
  69.  
  70. Egalitatea de identitate care înseamnă că două expresii au aceeaşi identitate (adică reprezintă acelaşi obiect)
  71.  
  72. Egalitatea de conţinut care înseamnă că două expresii reprezintă obiecte cu aceeaşi valoare/conţinut.
  73.  
  74. În general, o interfaţă este un dispozitiv sau un sistem pe care entităţi ne-înrudite îl folosesc pentru a interacţiona.
  75.  
  76. O interfaţă este o colecţie de constante si definiţii de metode, fără implementări, colecţie careare un nume.
  77.  
  78. Interfețele sunt niște contracte care obligă o clasă să implementeze anumite functionalități, fără ca să spună nimic
  79. despre cum trebuie implementate.
  80.  
  81. Unified Modeling Language (UML)
  82.  
  83. Aserțiunile sunt niște mecanisme ce permit testarea logicii programului în faza de dezvoltare
  84.  
  85. Invarianți interni – presupuneri că anumite porțiuni de cod sunt adevărate tot timpul
  86. Invariantul clasei – ce trebuie să fie adevărat tot timpul legat de variabilele de instanță
  87.  
  88. O excepţie: o problemă care apare în cursul execuţiei unui program
  89. 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