Documente Academic
Documente Profesional
Documente Cultură
ro
Aplicaii JAVA
Curs 4
Pachete. Interfete
Pachete. Interfete
Ce este un pachet?
Nota:
Comanda import
Comanda import
Nota:
Comanda din exemplul de mai sus nu importa toate
clasele pachetului; sunt importate doar acele clase
care au fost declarate public, si chiar si asa sunt
importate doar acele clase care sunt referite in cod.
Comanda import
Comanda import
Observatie:
Trebuie evitate conflictele de nume de clasa,
deoarece compilatorul va semnala o eroare.
Conflicul de nume de clasa are loc atunci cand
doua clase din pachete diferite au acelasi
nume.
In aceasta situatie, referirea la clasa dorita din
aceste pachete trebuie sa se faca prin numele
sau complet (inclusiv numele pachetului).
11.03.2015 Curs - Aplicatii Java 15
copyright@www.adrian.runceanu.ro
numele pachetului;
Directorul Directorul
Fisierul aplicatiei
clasegenerice formegeometrice
TestFormaInterfata.class
Fisierele Cerc.class,
Fisierele Sort.class si Dreptunghi.class, Patrat.class
Compara.class si FormaGeo.class
Pachete. Interfete
1. Conceptul de motenire
Conceptul de mostenire este folosit in Java la
organizarea claselor si a comportamentului
acestora.
Mostenirea este mecanismul fundamental pentru
refolosirea codului.
Prin mostenire o clasa noua dobandeste toate
atributele si comportamentul unei clase existente
(clasa originala).
Din acest motiv, noua clasa poate fi creata prin
simpla specificare a diferentelor fata de clasa
originala din care provine.
11.03.2015 Curs - Programare orientat pe obiecte 33
copyright@www.adrian.runceanu.ro
1. Conceptul de motenire
Datorita relatiilor de mostenire clasele de obiecte
sunt organizate intr-o ierarhie bine precizata.
1. Conceptul de motenire
Uneori, in loc de derivare se foloseste termenul de
extindere.
1. Conceptul de motenire
Intr-o ierarhie de clase, o clasa poate avea o singura
superclasa, insa poate avea un numar nelimitat de
subclase.
Subclasele mostenesc toate atributele si metodele
superclasei lor, care la randul ei mosteneste toate
atributele si metodele de la superclasa ei si asa mai
departe, urcand in ierarhie.
Rezulta ca o clasa nou creata contine toate atributele
si metodele claselor aflate deasupra sa in ierarhie, si in
plus contine propriile atribute si metode.
Clasa A
Clasa B
1. Conceptul de motenire
In varful ierarhiei de clase Java se afla clasa Object, iar
toate clasele de obiecte, care se creaza, sunt derivate
din aceasta unica superclasa.
Object reprezinta clasa initiala, sa-i spunem clasa de
obiecte generice, care defineste atributele si
comportamentul (metodele) mostenite de toate clasele
din biblioteca de clase Java.
In varful ierarhiei se definesc concepte (clase) abstracte,
foarte generale.
Aceste concepte generale devin din ce in ce mai
concrete, mai particularizate, o data cu coborarea
spre subclasele de pe nivelele de mai jos in ierarhie.
11.03.2015 Curs - Programare orientat pe obiecte 38
copyright@www.adrian.runceanu.ro
1. Conceptul de motenire
1. Conceptul de motenire
De exemplu, se poate construi o ierarhie Om
care deriva direct din clasa generica Object si
are doua clase derivate:
clasa barbatilor (Barbat)
si clasa femeilor (Femeie)
Daca la nivelul clasei de obiecte Om am
definit forma bipeda a acestuia si capacitatea
de a vorbi si de a intelege, toate aceste
caracteristici vor fi mostenite si de clasele
derivate din clasa Om, si anume clasa
barbatilor si cea a femeilor.
11.03.2015 Curs - Programare orientat pe obiecte 40
copyright@www.adrian.runceanu.ro
1. Conceptul de motenire
Fiecare din aceste clase de obiecte derivate isi vor
defini propriile lor proprietati si operatii pentru a
descrie diferenta dintre ele si clasa originala.
Obiect (Object)
Om
Barbat Femeie
Mostenire multipla
Mostenire multipla
Interfete Java
Interfete Java
unde:
<modificatori> - sunt specificati prin cuvintele-cheie public si
abstract; o interfata publica poate fi accesata si de alte pachete
decat cel care a definit-o; fiecare interfata este in mod implicit
abstracta deci cuvantul-cheie abstract poate lipsi;
<nume_interfata> - specifica numele interfetei; este de preferat
ca numele interfetei sa respecte aceeasi conventie de numire ca
si cea de numire a claselor;
<nume_interfata1>, <nume_interfata2>, ... - specifica numele
superinterfetelor din care poate deriva interfata;
<corpul_clasei> - contine declaratii de variabile si declaratii de
metode (numai antetul acestora).
Variabilele interfetei sunt implicit statice si finale si deci trebuie
specificate valori initiale pentru acestea.
Metodele sunt declarate in interfata numai cu antetul lor, fara
corp. Ele sunt implicit abstracte.
11.03.2015 Curs - Aplicatii Java 55
copyright@www.adrian.runceanu.ro
Interfete Java
Observatii:
Interfete Java
Interfete Java
Nota:
Nota:
Derivarea interfetelor
Derivarea interfetelor
Nota:
*Cristian_Frasinaru-Curs_practic_de_Java
Modalitatea
de
implementare
a stivei
folosind o lista
inlantuita:
ntrebri?