E-learn.ro
Panou utilizatori
Utilizator Parola
Creeaza cont nou    Recupereaza parola
Login
Newsletter
Introdu adresa ta de email
Inscrie-te
Inchide panoul de utilizatori
Add to Google

Tutoriale Java

Descarca toolbar

Toolbar E-learn.ro Facebook Twitter

DEVELOPMENT  /  Java  /  Introducere in Java (8)

Conceptele programarii orientate pe obiecte

22.06.2009
Conceptele programarii orientate pe obiecte

Obiectele reprezinta cheia pentru intelegerea programarii orientate pe obiecte. In acest tutorial vei putea citi despre obiecte, clase, mostenire si interfete in Java.

Total vizualizari: 14050 14050 afisari   |   Comentarii  0   |   Rating   |   (2 voturi)   |   Timp necesar: 20 min 20 min   |   Nivel de cunostiinte necesar: Incepator  Incepator

Sursa:  Java.sun.com  
Autor:  Java.sun.com
Adauga la tutoriale favorit Adauga la tutoriale favorite
Pagina:
« 1 2
comenteaza printeaza

Ce reprezinta mostenirea?

Diverse tipuri de obiecte au deseori destule in comun. Bicicletele pentru munte, pentru pista si bicicletele tandem, de exemplu, au aceleasi caracteristici (viteza curenta, ritm curent al pedalei, trepte de viteza). Insa fiecare are caracteristici suplimentare care le diferentiaza: bicicletele tandem au 2 locuri si doua seturi de ghidoane; bicicletele de pista au ghidonul lasat; anumite biciclete pentru munte au un inel de lant suplimentar, oferindu-le o rata de transmisie mai redusa.

Programarea orientata pe obiecte le permite claselor sa mosteneasca starile si comportamentele comune din alte clase. In acest exemplu, Bicycle devine superclasa pentru MountainBike, RoadBike, si TandemBike. In limbajul de programare Java, fiecarei clase ii este permis sa aiba o superclasa directa si fiecare superclasa poate fi mostenita de un numar nelimitat de subclase:

Ierarhia claselor de biciclete

Sintaxa pentru crearea unei subclase este simpla. La inceputul declararii clasei, utilizeaza cuvantul cheie extends, urmat de numele clasei de la care se mosteneste:

class MountainBike extends Bicycle {
 
     // campuri si metode noi ce diferentieaza 
     // o bicicleta de munte de una normala
 
}

Aceasta ii ofera clasei MountainBike toate campurile si metodele din Bicycle, insa ii permite codului sau sa se concentreze exclusiv pe aspectele care o individualizeaza. Aceasta face ca o subclasa sa fie usor de citit. Oricum, trebuie sa ai grija sa documentezi in mod adecvat starea si comportamentul fiecarei superclase, deoarece in fisierul sursa nu va aparea tot codul ce o defineste.

Ce este o interfata?

Dupa cum ai invatat deja, obiectele definesc propriile interactiuni cu lumea exterioara prin metodele deja expuse. Metodele formeaza interfata obiectelor cu lumea exterioara; butoanele de pe partea fontala a televizorului, de exemplu, reprezinta interfata dintre tine si instalatia electrica din cealalta parte a carcasei de plastic. Apesi butonul "power" pentru a deschide si a inchide televizorul.

In forma sa cea mai comuna, o interfata este un grup de metode atasate unor corpuri goale. Comportamentul unei biciclete, daca este specificat ca fiind interfata, poate aparea dupa cum urmeaza:

interface Bicycle {
 
       void changeCadence(int newValue);
 
       void changeGear(int newValue);
 
       void speedUp(int increment);
 
       void applyBrakes(int decrement);
}

Pentru a implementa aceasta interfata, numele clasei tale se va schimba (in ACMEBicycle, de exemplu), si vei utiliza cuvantul cheie implements in declararea clasei:

class ACMEBicycle implements Bicycle {
 
   // restul codului ce implementeaza functiile din interfata
 
}

Implementarea unei interfete permite unei clase sa devina mai formala in ceea ce priveste comportamentul pe care il va avea. Interfetele realizeaza conexiunea dintre clasa si lumea exterioara, aceasta conexiunea aplicandu-se in momentul compilarii programului. In cazul in care clasa ta solicita implementarea unei interfete, toate metodele definite de acea interfata trebuie sa apara in codul clasei respective pentru a putea fi compilata.

Ce este un pachet?

Un pachet este spatiul care organizeaza un set de clase si de interfete inrudite. Conceptual, iti poti imagina pachetele ca fiind similare diverselor foldere din computer. Poti pastra pagini HTML intr-un folder, imagini in altul si scripturi si aplicatii in altul. Deoarece software-ul scris in limbajul de programare Java se poate compune din sute de mii de clase individuale, are sens sa mentinem lucrurile organizate plasand clasele si interfetele inrudite in pachete.

Platforma Java furnizeaza o biblioteca uriasa (un set de pachete) adecvate utilizarii in propriile aplicatii. Aceasta biblioteca este cunoscuta ca API (Application Programming Interface - Interfata de Programare a Aplicatiei). Pachetele sale reprezinta sarcinile cel mai des asociate programarii in scop general. De exemplu un obiect String contine stari si comportament pentru siruri de caractere; un obiect File permite programatorului sa creeze, stearga, inspecteze, compare sau sa modifice cu usurinta un fisier din sistemul de operare; un obiect Socket permite crearea si utilizarea socketilor de retea; diversele obiecte GUI controleaza butoanele si casutele care se pot bifa si orice altceva legat de interfata grafica a utilizatorului. Chiar exista mii de clase dintre care poti alege. Aceasta ii permite programatorului sa se concentreze la a crea propria aplicatie, mai degraba decat la infrastructura necesara functionarii.

Java Platform API Specification contine o lista completa a tuturor pachetelor, interfetelor, claselor, campurilor si metodelor oferite de Java Platform 6, Standard Edition. Incarca pagina in browser si adaug-o la linkuri favorite. In calitate de programator, va deveni cea mai importanta piesa din documentatia ta.

Pagina:
« 1 2
comenteaza printeaza
Alte tutoriale Java:
Noteaza acest tutorial
Rating tutorial
 
(2 voturi)
Pentru a nota acest tutorial, trebuie sa fii logat!
Posteaza un comentariu
Pentru a posta un comentariu, trebuie sa fii logat!
0 TOP UTILIZATORI* 0 0
Tutoriale scrise de claibornelara
claibornelara Rang utilizator claibornelara - Incepator
4550
Tutoriale scrise de mcuemica
mcuemica Rang utilizator mcuemica - Incepator
4445
Tutoriale scrise de ellarichards
ellarichards Rang utilizator ellarichards - Incepator
4395
Tutoriale scrise de emonclercheap
emonclercheap Rang utilizator emonclercheap - Incepator
4265
Tutoriale scrise de beacherrosa
beacherrosa Rang utilizator beacherrosa - Incepator
4150
* Acest top reprezinta punctajele acumulate in ultimele 30 de zile.
Java Swift 3D COREL DRAW SEO Flash Python CSS Illustrator Fireworks Javascript RoR MySQL JSON Lightroom Word Outlook Dreamweaver Photoshop StyleSheet HTML Fotografie Powerpoint Gimp AJAX SWF Verilog Ruby on Rails Sony Vegas XHTML Bridge PHP Excel Vista Action Script PSD XML
Promovare:
Daca faci parte din comunitatea E-learn.ro si doresti promovarea acesteia, poti accesa pagina de promovare.
Arhiva newsletter:
Daca ai ratat un numar mai vechi, sau vrei sa revezi care au fost noutatile E-learn.ro la un moment dat, poti accesa arhiva de newslettere.
  Copyright © 2008-2013 E-LEARN.ro. Toate drepturile rezervate. Termeni si conditii.
Conceput si realizat de Neokinetics Software