OOP in Java
Mar 02, 2021
Java Platform. OOP in Java.
Java Platform
O platforma este hardware-ul sau mediul software in care ruleaza programele.
• Cele mai populare platforme sunt: Microsoft Windows, Linux, Solaris OS si Mac OS.
• Cele mai multe platforme pot fi descrise ca o combinatie de sisteme de operare si hardwareul care sta la baza.
Platforma Java difera de majoritatea platformelor prin faptul ca este o platforme pur software care ruleaza deasupra altor platforme bazate pe hardware.
Platforma Java are doua componente:
– Masina Virtuala Java
– Interfata de programare a aplicatiei Java (API)
API este o colectie de componente software gata facute care dispun de multe capabilitati folositoare. Este grupata in biblioteci de clase inrudite si interfete; aceste biblioteci mai sunt numite si pachete (packages).
Fiecare implementare completa a platformei Java ofera urmatoarele proprietati:
• Unelte de dezvoltare: furnizeaza tot ce este necesar pentru compilare, rulare, monitorizare, depanare, si documentarea unei aplicatii. Principalele unelte folosite sunt compilatorul javac, java launcher, si unealta pentru documentatie javadoc.
•API: ofera un sir lung de clase care sunt deja implementate si pot fi folosite la implementarea unei aplicatii;
• Tehnologiile de implementare: Software-ul JDK furnizeaza mecanismele standard cum ar fi software-ul Java Web Start si Java Plug-In pentru desfasurarea aplicatiei.
• Uneltele pentru interfata cu utilizatorul: Uneltele Swing si Java 2D toolkits fac posibila crearea interfetei sofisticate (Graphical User Interfaces -GUIs-).
• Biblioteci de integrare: Bibliotecile de integrare cum ar fi Java IDL API, JDBCTM API, Java RMI, permite accesul la bazele de date si manipularea obiectelor de la distanta.
Avantajele tehnologiei Java
• Incepe rapid: Desi limbajul de programare Java este un limbaj puternic orientat pe obiecte, este usor de invatat, mai ales pentru programatorii deja familiarizati cu C/C++.
• Scrie cod putin: un program scris in limbajul de programare Java poate fi de patru ori mai mic decat unul scris in C++.
• Scrie cod mai bun: colectarea automata a gunoiului ajuta la evitarea scurgerilor de memorie.
• Dezvolta programe mai rapid
• Evita dependetele de platforma: Poti pastra portabilitatea programului evitand folosirea unor biblioteci scrise in alte limbaje.
• Scrie o data, ruleaza oriunde: Datorita faptului ca aplicatiile scrise in limbajul de programare Java sunt compilate in bytecodes independet de masina, codul poate fi rulat pe orice masina iar software-ul este mult mai usor de distribuit.
OOP
Obiectele reprezinta instante ale clasei deoarece prin construirea unui obiect povestea din spatele clasei devine ceva concret: un spatiu de memorie in Heap in care atributele au valori. Obiectele sunt construite prin operatorul new care va apela functia constructor din clasa (cu sau fara parametri):
Obiectul ca si variabila reprezinta o referinta (pointer) ce gestioneaza o adresa din Heap. Prin intermediul acestei adrese avem acces la zona de memorie rezervata pentru obiect in care se gasesc valorile atributelor sale. Prin definirea unui obiect se obtine o simpla referinta care are valoarea implicita null. Pentru a da valoare acestei referinte se construieste (instantiaza) obiectul prin new.
Cum se acceseaza atributele si metodele
Obiectul are acces la atributele si metodele sale (care nu sunt statice) prin intermediul operatorului . (punct).
Ex:
Pentru clasa Carte avem metodele public float getPret() si public String afisare.
In main vom defini obiectul Carte carteObject; Acum referinta carteObject are valoare null.
Cream obiectul carteObject = new Carte(); ce va fi folosit pentru apelarea metodelor din clasa Carte prin intermediul punctului: carte.afisare(); carte.getPret();
O clasa este o schita sau un prototip din care obiectele sunt create.
Clasele reprezinta principiile de baza ale programarii orientate obiect. Clasele reprezinta notiuni abstracte, povesti, modele (blueprints), ce descriu:
- caracteristicile, atributele unui obiect; reprezinta ceea ce stie sau ce este obiectul;
- ce stie sa faca obiectul, comportamentul acestuia descris de metodele sale;
Cum se defineste o clasa in Java
Sintaxa generala prin care se defineste o clasa in Java 6 este:
[modificator_acces] class nume_clasa [extends base_class]
[implements interface1, interface2, …]
{//inceput bloc clasa
//atribute
//metode
//blocuri de cod
//alte clase
}//sfarsit bloc clasa
modificator acces – descrie drepturile de utilizare a acestei clase dintr-un program Java; acest atribut este optional, avand ca valoare default, private;
class – cuvant cheie in Java ce defineste aceasta structura
nume clasa – numele clasei definit de programator;
extends – permite derivarea dintr-o clasa de baza
implements – permite derivarea din una sau mai multe interfete
Mostenirea asigura un mecanism natural si puternic pentru organizarea si structurarea software-ului. Clasele mostenesc starea si comportamentul de la superclasele lor. Java permite doar mostenirea simpla, asadar o clasa poate avea un singur un singur parinte (superclasa). Evident o clasa poate avea oricâti mostenitori (subclase). Extinderea unei clase se realizeaza deci astfel:
class B extends A {...} //A este superclasa clasei B
O interfata este o legatura intre o clasa si lumea externa. Cand o clasa implementeaza o interfata, promite sa asigure comportamentul publicat de interfata. Daca clasa pretinde sa implementeze o interfata, toate metodele definite de acea interfata trebuie sa apara in codul ei sursa inaintea compilarii cu succes a clasei.
Un pachet este un spatiu de nume pentru organizarea claselor si interfetelor intr-o maniera logica. Aranjand codul in pachete face ca proiectele mari sa fie gestionate mai usor. Din cauza ca software-ului scris in limbajul de programare Java poate fi compus din sute, chiar mii de clase individuale, are sens sa pastram lucrurile organizate asezand clasele si interfetele inrudite in pachete.
Garbage collection este un proces care se uita in zona de memorie heap, identifica care obiecte sunt in uz si care nu, stergandu-le pe cele neutilizate. Spre deosebire de C/C++ Java elibereaza automat referintele neutilizate prin intermediul GB-ului (garbage collector).
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras sed sapien quam. Sed dapibus est id enim facilisis, at posuere turpis adipiscing. Quisque sit amet dui dui.
Stay connected with news and updates!
Join our mailing list to receive the latest news and updates from our team.
Don't worry, your information will not be shared.
We hate SPAM. We will never sell your information, for any reason.