Scrigroup - Documente si articole

Username / Parola inexistente      

Home Documente Upload Resurse Alte limbi doc  

CATEGORII DOCUMENTE





AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


Java - limbaj orientat obiect

java

+ Font mai mare | - Font mai mic







DOCUMENTE SIMILARE

Trimite pe Messenger
SUPRASCRIEREA METODEI UPDATE()
CICLURI FOR
CAMPURI DE TEXT
DIFERENTA INTRE APPLET-URI SI APLICATII
DISTRUGEREA CONTEXTELOR GRAPHICS
CREAREA DE PROGRAME INTERACTIVE PENTRU WEB
INCREMENTAREA SI DECREMENTAREA
CREAREA OBIECTELOR CE VOR FI DESENATE
TRATAREA EVENIMENTELOR COMPONENTELOR
INSPECTAREA CLASELOR SI A METODELOR PRIN REFLEXIE

Java - limbaj orientat obiect

            Java este un limbaj orientat obiect. El a fost prezentat astfel de catre creatorii lui si nu poate exista nici un dubiu in aceasta privinta. Cu diferente, adaugiri dar, mostenind principalele caracteristici ale unui astfel de limbaj, Java este o dovada a actualitatii POO.



1  Definirea unei clase

            O noua  clasa poate fi definita ajutandu-ne de cuvantul rezervat “class”.

            class NumeClasa

           

            Membrii clasei pot fi date membre sau/si functii membre. Datele membre se declara ca orice variabila normala :

            int dataMembra;

Functiile membre sunt definite astfel :

            tip  nume_functie (tip argumente)

           

            Exista cateva caracteristici cu privire la clase Java pe care le voi aminti aici. In primul rand, spre deosebire de alte limbaje in Java acesta este singurul mod de a defini noi tipuri (class Nume Class). Apoi, functiile membre nu pot fi definite decat in interiorul clasei de care tin si nu in exterior asa cum este posibil in C/C++. Nu in ultimul rand, trebuie amintit faptul ca numele fisierului ce contine o anumita clasaa Java trebuie sa fie identic cu numele clasei.

            In general, o clasa este definita pentru a putea lucra cu obiectele ce fac parte din aceea clasa. Un obiect poate fi declarat astfel :

            Copii copilulMeu =  new Copii( );

            Pentru a provoca o operatie asupra unui obiect este de ajuns sa declaram obiectul ca apatinand clasei respective si apoi sa-i atasam metoda respectiva :

            int varsta = copilulMeu.Varsta( );

2  Controlul accesului

           

            Java stabileste accesul la clase si membrii acesteia cu ajutorul a trei cuvinte rezervate : public, private si protected.

            Daca un membru nu este marcat de nici unul din acesti specificatori este considerat implicit friendly. Domeniul friendly in Java este cel al pachetelor, adica orice data declarata friendly este accesibila direct in cadrul aceluiasi pachet (acelasi fisier sursa).

            O clasa public sau un membru public este accesibil tuturor claselor din toate pachetele (fisierele). Componentele private sunt accesibile numai membrelor clasei in care au fost definite. Componentele protected sunt accesibile in orice clasa din pachetul carei apartine clasa in care este declarata. In acelasi timp, componenta este accesibila in toate subclasele calsei date, chiar daca ele apatin altor pachete.

3  Fara pointeri

            Un pointer este  o variabila ce contine adresa altei variabile. O caracteristica importanta a limbajului este lipsa pointerilor. Java nu are pointeri expliciti, dar ofera in schimb referinte. Sa vedem cum putem inlocui pointeri cu facilitatile oferite de Java.




            Consideram clasa Copii si sa cream un obiect al acestei clase.

            Copii copilului_meu = new Copii ( );

Sa mai definim un alt obiect astfel:

            Copii copilul_sotiei_mele = copilul_meu;

            In acest moment copilul_sotiei_mele si copilul_meu refera acelasi obiect din clasa Copii. Este ca si cum cei doi parinti isi numesc copilul in moduri diferite. Daca programul schimba atributele unuia din obiecte va fi schimbat si atributul celuilalt.

            copilul_meu.varsta = 4;

            copilul_sotiei_mele.varsta = 8;

            // acum avem copilul_meu.varsta egal cu 8

Un exemplu de utilizare a referintelor este clasa de mai jos. Aceasta reprezinta implementarea in Java a unei liste simplu inlantuita.

public class Lista

                        else

                       

            }

}

Sa urmarim constructia clasei. Doua date membre speciale, m_cap si m_coada, refera prima, respectiva ultima componenta din lista. Cum aceasta clasa defineste o singura lista vom considera cele doua date ca fiind statice.

            La randul sau, fiecare nod are doua referinte : m_obiect, m_next. Primul refera obiectul clasei Copii iar cel de al doilea urmatorul element al listei.

            Am vazut ca putem crea noi obiecte fara a ne interesa sa scapam de ele mai t=rziu, chiar daca devin inutile. Acest lucru este realizat automat de Java cu ajutorul unui sistem de garbage collection. Astfel un obiect Java poate fi sters in urmatoarele cazuri :

1)     De cate ori este nevoie. Cand memoria heap este aproape plina, programul se opreste si porneste garbage collection pentru a crea cat mai mult spatiu posibil.

2)     De cate ori acest lucru este cerut. Programatorul poate forta garbage collection cu System.gc. Un astfel de exemplu este dat in clasa Nod prezentata in listing-ul WebOnWeb din Anexa 2

3)     De cate ori se poate. Java cauta in background, in mod continuu, obiectele ce ar putea fi eliminate. Aceasta operatie este diferita de prima prin faptul ca nu implica slabirea performantelor sistemului.

            Prezenta in Java a sistemului garbage collection este o explicatie a lipsei    desctructorilor din interiorul unei clase.








Politica de confidentialitate

DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 419
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2019 . All rights reserved

Distribuie URL

Adauga cod HTML in site