Documente Academic
Documente Profesional
Documente Cultură
Java 1
Java 1
ELEMENTE GENERALE
1. Ce este JAVA ?
Aplica]ia utilizatorului
Obiecte Java
Ma[ina virtual\ Java
UNIX Windows Macintos
h
Sisteme de operare
4. Java [i conceptele program\rii orientate pe obiecte
Obiectele :
unitatea elementara a POO
starea obiectului este dat\ de variabile de instan]\
comportamentul obiectului este dat metode
u[or de refolosit, actualizat, între]inut
Încapsularea [i transmiterea de mesaje :
Clasele :
încapsuleaz\ obiecte
o singur\ clas\ poate fi folosit\ pentru instan]ierea mai
multor obiecte
Pachetele: colec]ie de clase înrudite
Mo[tenirea : permite
extinderea func]ionalit\]ii unor clase existente
refolosirea codului
Modificatorii de acces : controleaz\ accesul la metodele [i
variabilele obiectelor. Acestea pot fi :
1. Private - accesibile doar obiectelor din aceea[i clas\
2. Protejate - accesibile obiectelor din aceea[i clas\ [i
din subclasele clasei respective
3. Prietenosase - (nivelul de accesibilitate prestabilit)
accesibile tuturor claselor din pachetul curent
4. Publice - accesibile tuturor claselor din orice pachet
D. Asigurarea securit\]ii
• Interzice accesul la stiva sistemului, la zona liber\ de
memorie [i la sec]iunile protejate de memorie
• Verific\ validitatea codului semnalând urm\toarele:
• Viol\rile de acces
• Conversiile ilegale de date
• Valori [i parametri incorec]i
• Modificarea claselor sau folosirea incorect\ a acestora
• Dep\[irea stivei în partea superioar\ sau inferioar\
• Activit\]i suspecte sau neautorizate
Aplica]ii [i miniaplica]ii
ν miniaplica]ie (applet) = program Java creat pentru a fi
folosit în sitemul WWW. Applet-urile necesit\ un
program de vizualizare extern : browser Web sau un
program specializat de vizualizare (applet viewer).
ν aplica]ie (app) = program Java care poate fi rulat
independent
Spa]ii de nume
Pentru evitarea conflictelor legate de spa]iile de nume,
fiecare component\ a unui nume este imbricat\ în
conformitate cu unul din urm\toarele niveluiri:
• 0 - spa]iul de nume al pachetului
• 1 - spa]iul de nume al unit\]ii de compilare
• 2 - spa]iul de nume al tipului
• 3 - spa]iul de nume al metodei
• 4 - spa]iul de nume al blocului local
• 5 - spa]iul de nume al blocului imbricat
Interpretorul este responsabil pentru men]inerea [i
translatarea spa]iului de nume. Spa]iile de nume sunt
separate prin punct.
Ex. java.lang.System.out.println() - calea complet\
Pachetele Java din biblioteca original\ de pachete sunt
referite prin java uramt de numele pachetului (java.lang).
In cazul în care nu exist\ confuzii poate fi folosit\ o variant\
prescurtat\ a apelului (interpretorul folose[te prima potrivire
de nume descoperit\); apelul la println() se putea face [i prin
System.out.println()
Instruc]iuni de pachet
Sunt folosite pentru a preciza pozi]ia pachetelor folosite într-
o aplica]ie. In mod implicit Java folose[te calea de acces
curent\ [i presupune c\ fi[ierele cu cod compilat se afl\ în
directorul curent la rularea programului.
Pentru ca obiectele [i clasele s\ respecte o structur\
ierarhic\ diferit\ de cea prestabilit\ trebuie inclus\ în codul
surs\ o instruc]iune de pachet :
package NumePachet
In cazul când se folosesc mai multe niveluri instruc]iunea va
avea forma:
package MyPackages.NumeSubPachet
Numele de pachete de pe fiecare nivel al spa]iului de nume
trebuie s\ reflecte structura de directoare a sistemului de
fi[iere, deoarece Java transform\ numele pachetelor în c\i de
acces pentru localizarea claselor [i a metodelor asociate
pachetelor. De exemplu într-un sistem Windows 95/NT
numele de pachet MyPackages.Pachetel va fi transformat în
directorul
\MyPackages\Pachetel unde Java va c\uta pachetul respectiv.
Instruc]iuni de import
Java con]ine un set de func]ii principale, accesibile global, [i
care sunt localizate în pachetul java.lang. Pentru a ob]ine
accesul la alte pachete, clase [i obiecte care nu se afl\ în
aceast\ bibliotec\ se folosesc instruc]iuni de import, care ajut\
compilatorul Java s\ reg\seasc\ metodele corespunz\toare [i
s\ evite conflictele de nume.
De exemplu, pentru a apela metoda Button din
pachetul java.awt (awt = Abstract Window Toolkit) se
folose[te instruc]iunea java.awt.Button. O metod\ mai
eficient\ este de a importa metoda import java.awt.Button [i
de a apela metoda doar prin instruc]iunea Button.
Cea mai uzual\ metod\ de import este importul la
cerere, care spune compilatorului s\ importe numai clasele
de care este nevoie în program : import java.awt.* pentru a
nu face disponibile toate clasele din java.awt.
Declara]iile de clas\
In Java toate clasele sunt derivate dintr-o clas\ sistem numit\
Object. Object este r\d\cina ierarhiei de clase, toate metodele
[i variabilele clasei fiind disponibile celorlalte clase. In mod
implicit toate clasele sunt private. Declara]iile de clas\, f\r\
modificatori de acces, au aceea[i sintax\ ca în C++ :
class nume_clasa
{
//metode si variabile asociate clasei
}
Declara]iile de interfa]\
Interfe]ele sunt clase abstracte. Diferen]a major\ fa]\ de o
clas\ este aceea c\ interfe]ele nu pot stoca date. De
asemenea, nu pot con]ine implement\ri ale metodelor ci doar
declara]ii ale acestora.
O clas\ poate s\ implementeze una sau mai multe
interfe]e [i poate s\ partajeze aceaa[i interfa]\ cu alte clase
sau instan]e ale unei clase.
Declara]iile de interfa]\ f\r\ modificatori au urm\torul
format:
interface nume_interfata {
//metode si variabile statice asociate interfetei
}
Declara]iile de clase care folosesc interfe]e au urm\torul
format:
class nume_clasa implements nume_interfata {
//corpul clasei
}
Un alt format poate fi:
class nume_clasa implements
nume_interfata1,...,nume_interfataN {
//corpul clasei
}