Documente online.
Zona de administrare documente. Fisierele tale
Am uitat parola x Creaza cont nou
 HomeExploreaza
upload
Upload




Programare Java

java


Programare Java

INSTRUCTIUNI SI EXPRESII

Toate activitatile ce se realizeaza intr-un program Java pot fi rezumate la o serie de instructiuni .

O instructiune ( statement ) este o comanda simpla , scrisa intr-un limbaj de programare si care determina o actiune .



Instructiunile sunt actiuni elementare ale unui program Java . Mai jos putem vedem mai multe exemple de instructiuni Java simple :

int varsta=30;

import java.awt.dnd;

System.out.println("Text ");

Jucator.scor=45000;

Unele instructiuni produc o valoare , ca in cazul in care se aduna doua numere . Aceste instructiuni se numesc expresii .

O expresie este o instructiune care are ca rezultat producerea unei valori . Valoarea poate fi pastrata pentru o folosire ulterioara in program , poate fi folosita imediat intr-o alta instructiune sau poate fi ignorata . Valoarea produsa de o instructiune este numita valoare de retur .

Unele expresii produc o valoare de retur numerica , cum ar fi cazul cand se aduna doua numere ; altele produc valori booleene - adevarat sau fals - sau pot produce chiar un obiect Java .

Chiar daca majoritatea programelor Java contin o singura instructiune pe fiecare 151f57b linie aceasta este doar o optiune de formatare , care nu stabileste unde incepe si unde se termina o instructiune ci are scopul principal de a mari lizibilitatea programului .

De fapt , fiecare instructiune Java se termina cu " ; " . Intr-o singura linie se pot introduce astfel mai multe instructiuni fara a determina probleme :

j.culoare="galben"; j.alegere=false;

Instructiunile sunt grupate in Java folosind acoladele . Un grup de instructiuni organizate intre acolade se numeste bloc .

VARIABILE SI TIPURI DE DATE

Variabilele reprezinta un loc unde poate fi pastrata informatia intr-un program aflat in executie . Valoarea poate fi modificata oricand in cadrul programului .

Pentru a crea o variabila trebuie sa ii dati un nume si sa stabiliti ce tip de informatie va stoca . De asemenea , in momentul crearii puteti sa atribuiti variabilei o valoare initiala .

Exista trei tipuri de variabile in Java : variabile de instanta , variabile de clasa si variabile locale .

Variabilele de instanta sunt folosite pentru a defini atributele unui obiect .

Variabilele de clasa definesc atributele unei intregi clase de obiecte si se aplica tuturor instantelor acesteia .

Variabilele locale sunt folosite in interiorul definitiilor metodelor sau al blocurilor de instructiuni din cadrul unei metode . Ele pot fi folosite doar atunci cand metoda sau blocul este executat de interpretorul Java , dupa care isi inceteaza existenta .

Cu toate ca aceste trei tipuri de variabile sunt create asemanator , variabilele de clasa si de instanta sunt folosite intr-un alt mod decat variabilele locale . In continuare vom trata variabilele locale - celelalte doua tipuri vor fi detaliate mai tarziu .

OBS : Spre deosebire de alte limbaje Java nu are variabile globale ( utilizabile in orice parte a unui program ) . Variabilele de clasa si de instanta sunt folosite pentru a comunica informatii despre un obiect sau altul si pot inlocui nevoia de variabile globale .

Inainte de a folosi o variabila in Java trebuie mai intai sa o declaram prin indicarea numelui si a tipului de informatie pe care il va stoca . Formatul declaratiei este prezentat in continuare , specificandu-se intai tipul de informatie si apoi numele :

int maxim;

String numeutilizator;

boolean stareTerminare;

Variabilele locale pot fi declarate in orice loc in interiorul unei metode , la fel ca oricare alta instructiune Java insa trebuie declarate inainte de a fi folosite . In mod normal declararea variabilelor urmeaza imediat dupa instructiunea care defineste metoda .

Public static void main(string argumente[])

Daca vrem sa cream mai multe variabile de acelasi tip le putem declara pe toate in aceeasi instructiune , separate de " , " :

String strada , oras , tara ;

Variabilelor li se poate atribui o valoare atunci cand sunt create prin atribuire :

int codposta=7000;

String nume="Alex";

boolean alegere=true;

int varsta=50 , inaltime=170;

Dupa cum se poate vedea avem si posibilitatea de a atribui valori mai multor variabile de acelasi tip . Variabilelor locale trebuie sa li se atribuie valori inainte de a fi folosite in program , altfel acestea nu se vor compila .

Definitiile variabilelor de instanta si de clasa primesc o valoare initiala in functie de tipul informatiei pe care o stocheaza :

variabilele numerice : 0

caracterele : "\0"

variabilele booleene : false

obiectele : null

Numele variabilelor in Java trebuie sa inceapa cu o litera , cu underscore ( "_" ) sau cu " $ " - ele nu pot incepe cu o cifra . Dupa primul caracter numele variabilelor pot contine orice combinatie de cifre si litere .

Trebuie sa retinem ca Java tine cont de litere mari si mici . Din aceasta cauza un program poate avea doua variabile diferite : una numita X si alta x sau una alb si alta ALB .

In practica s-a impus o "regula" de denumire a variabilelor Java : numele sunt formate din cuvinte sugestive iar in cazul in care sunt necesare mai multe cuvinte primul caracter al numelui este mic iar inceputul fiecarui cuvant este scris cu majuscula , ca in exemplele de mai jos :

Button incarcaFisier;

int codZona;

boolean definesteScorMaxim;

TIPURI DE VARIABILE

Dupa cum am vazut declaratia de variabila contine in afara numelui si tipul informatiei stocate . Acest tip poate fi :

un tip de date de baza

numele unei clase sau interfete

un tablou

In continuare prezentam tipurile de date de baza ale limbajului . Exista opt tipuri de baza pentru stocarea intregilor , numerelor in virgula mobila , caracterelor si valorilor booleene . Aceste tipuri mai sunt cunoscute si ca tipuri primitive deoarece fac parte integranta din limajul Java si nu sunt obiecte , lucru care le face mai eficient de folosit . Aceste tipuri de date au aceeasi dimensiune si caracteristici indiferent de sistemul de operare si de platforma folosita - spre deosebire de alte tipuri de date din alte limbaje de programare .

Pentru stocare intregilor avem patru tipuri de date :

- byte - pe 8 biti - valori intre -128 si 127

- short - pe 16 biti - valori intre -32768 si 32767

- int - pe 32 biti - valori intre -2147483648 si 2147483647

- long - pe 64 biti - valori intre -9223372036854775808 si 9223372036854775807

Toate aceste tipuri sunt cu semn ceea ce inseamna ca pot stoca numere pozitive sau negative . Tipul folosit pentru o variabila depinde de domeniul de valori de care este nevoie .

Un alt tip de numar ce poate fi stocat este cel reprezentat in virgula mobila ; pentru acestea exista tipurile float si double . Numerele in virgula mobila sunt numerele care au o parte zecimala . Tipul float este suficient in majoritatea cazurilor , pastrand numere intre 1,4E-45 si 3,4E38 . Daca totusi este necesar se poate folosi tipul real double ce poate stoca numere intre 4,9E-324 si 1,7E308 .

Tipul char este folosit pentru caracterele individuale , cum ar fi litere , cifre , semne de punctuatie si alte simboluri .

Ultimul dintre cele opt tipuri de baza este boolean . Spre deosebire de alte limbaje valorile pentru variabilele de acest tip nu sunt 1 si 0 ci true si false .

Toate tipurile de variabile prezentate folosesc litere mici si asa trebuie folosite in cadrul programelor . Exista clase care au aceleasi nume cu acestea , dar incep cu litera mare - de exemplu Boolean sau Char . Aceste clase au alt rol in programarea Java astfel incat trebuie folosite diferit de tipurile de baza .

TIPURI DE CLASE

In afara celor opt tipuri de baza o variabila poate fi de tip clasa :

String numeDeFamilie="Popescu";

Culoare par;

Atunci cand o variabila are drept tip o clasa inseamna ca variabila refera un obiect al clasei respective sau al uneia dintre subclasele sale . Referirea la o superclasa ca tip de variabila este folositoare atunci cand variabila poate fi una dintre mai multe subclase diferite .

Declararea unei variabile de tip Object inseamna ca poate stoca orice obiect .

OBS : Java nu are un echivalent al instructiunii typedef din C . Pentru a declara noi tipuri in Java se declara o noua clasa iar variabilele pot folosi aceasta clasa drept tip .

Dupa ce o variabila a fost declarata I se poate da o valoare folosind operatorul de atribuire , " = " :

idCod=8546;

imbracatRapid=false;

COMENTARII

Una dintre metodele cele mai importante de crestere a lizibilitatii unui program este folosirea comentariilor .

Comentariile reprezinta informatii introduse intr-un program doar in ajutorul persoanelor care incearca sa-si dea seama ce anume se intampla in program . Compilatorul Java ignora total comentariile atunci cand pregateste versiunea executabila a fisierului sursa Java .

Exista trei tipuri diferite de comentarii pe care le putem utiliza in programele Java .

Prima modalitate de a introduce comentarii in program este de a il prefixa cu doua simboluri slash " // " . Orice incepe dupa aceste semne si pana la sfarsitul liniei este considerat comentariu :

int oreCredit=3; // defineste orele de credit pentru curs

Daca dorim sa introducem un comentariu care ocupa mai mult de un rand trebuie sa incepem cu combinatia * " si sa incheiem cu combinatia " */ " .

Ultimul tip de comentariu este proiectat pentru a fi interpretabil si de catre calculator . Daca incepem comentariul cu ** " si il incheiem cu " */ " atunci comentariul este interpretat ca reprezentand documentatia originala referitoare la functionarea clasei si a metodelor sale publice .

Acest tip de comentariu poate fi citit de utilitare ca JAVADOC din pachetul JDK . Acest utilitar foloseste aceste comentarii pentru a crea un set de pagini web care documenteaza programul , ierarhia sa de clase si metodele .

LITERALE

Literalele sunt numerele , textul si alte informatii care reprezinta direct o valoare .

Mai explicit , literalele reprezinta un termen apartinand programarii , care inseamna de fapt ca ceea ce tastam este ceea ce vom obtine .

Java are mai multe literale pentru intregi . Numarul 4 de exemplu este un literal pentru tipul int . El poate fi atribuit de asemenea variabilelor byte sau short deoarece el este suficient de "mic" si pentru aceste doua tipuri . Un literal intreg mai mare decat poate stoca o variabila int este considerat automat ca avand tipul long . Putem indica faptul ca un literal este un intreg de tip long prin adaugarea sufixului L ( sau l ) . De exemplu urmatoarea instructiune stocheaza valoarea 4 intr-un intreg de tip long :

long totalPagini=4L;

Pentru a reprezenta o valoare negativa putem folosi literalul impreuna cu semnul minus - " ) .

In Java putem folosi si literali in sistem octal sau hexazecimal . Pentru a folosi un literal intreg in octal trebuie sa il prefixam cu cifra numarul octal 777 trebuie astfel scris ca 0777 . Intregii hexazecimali se folosesc prefixati cu 0x - ca de exemplu 0xFF .

Literalele in virgula mobila folosesc caracterul punct pentru punctul zecimal . Toate literalele in virgula mobila sunt automat considerate de tip double . Pentru a specifica tipul float adaugam F ( sau f ) - ca mai jos :

float valoarePi=3.1415F;

Putem folosi si exponenti in literalele de virgula mobila folosind litera E ( sau e ) urmata de exponent :

double x=12e22;

doube y=19E-70;

Literalele caracter sunt exprimate printr-un singur caracter incadrat de ghilimele simple : 'a' , '#' sau '3' .

Unele caractere literale reprezinta caractere care nu sunt tiparibile sau accesibile pe tastatura . Mai jos vom vedea coduri speciale care pot reprezenta aceste caractere speciale :

\n = new line ( linie noua )

\t = tab

\b = backspace

\r = revenire la capat de rand ( carriage return )

\f = formfeed ( salt la pagina noua )

\\ = semnul \

\' = ghilimele simple

\" = ghilimele duble

\_ = octal

\x_ = hexazecimal

\u_ = caracter unicode ( standard pe 16 biti spre deosebire de ASCII standard care presupune doar 128 de caractere )

In cazul ultimelor trei coduri se va inlocui in practica semnul " cu un numar sau o cifra hexazecimala .

Ultimele literale pe care le putem folosi intr-un program Java sunt sirurile de caractere . Unsir ( string ) in Java este un obiect si nu un tip de date primar . Sirurile nu sunt pastrate in tablouri ( ca in C de exemplu ) . Deaorece sirurile sunt obiecte Java avem si metode care pot fi folosite pentru combinarea si modificarea sirurilor precum si pentru a determina daca doua siruri au aceeasi valoare .

Literalele sir constau dintr-o serie de caractere incadrate intre ghilimele duble :

String autor="Ion Popescu";

String parola="password";

Sirurile pot contine si caractere speciale - prezentate anterior :

String exemplu="Text intre ghilimele \"CITAT\"";

System.out.println("Primul rand \n Al doilea rand");

String titlu="Invatati singuri Java\u2122";

In ultima instructiune , secventa \u2122 produce simbolul " TM " ( pe sistemele configurate sa suporte Unicode ) .

Atunci cand se foloseste un literal sir Java stocheaza valoarea sa ca obiect String . Nu trebuie sa cream explicit un nou obiect - ca in cazul celorlalte obiecte cu care vom lucra - deci este la fel de usor de lucrat cu acest tip ca si cu tipurile primare . Sirurile sunt diferite in ceea ce priveste acest aspect - nici unul dintre tipurile primare nu sunt pastrate ca obiecte atunci cand sunt folosite .

EXPRESII SI OPERATORI .

O expresie reprezinta o instructiune care produce o valoare . Cele mai folosite expresii sunt cele matematice - ca in continuare :

int x=3;

int y=4;

int z=x*y;

Ultima instructiune dintre cele de mai sus este o expresie . Operatorul de multiplicare * este folosit pentru inmultirea dintre x si y iar rezultatul produs de expresie va fi pastrat intr-o variabila z de tip intreg .

Valoarea produsa de o expresie este numita si valoare de retur . Aceasta valoare poate fi atribuita unei variabile si folosita in diferite feluri in programele noastre .

Operatorii reprezinta simboluri speciale folosite in functii matematice , in unele tipuri de instructiuni de atribuire sau in comparatii logice .

OPERATII ARITMETICE

In Java exista cinci operatori folositi pentru operatiile aritmetice de baza :

" Adunare

" Scadere

" Inmultire

" Impartire

"% " Modulo

Fiecare operator de mai sus foloseste cate doi operanzi - cate unul de fiecare parte a operatorului . Operatorul de scadere " poate fi folosit si pentru a nega un singur operator .

Un lucru care merita atentie sporita in ceea ce priveste operatorul de impartire este tipul operanzilor folositi . Daca stocam rezultatul unei impartiri intr-un intreg acesta va fi rotunjit la un numar intreg pentru ca tipul int nu poate lucra cu valori in virgula mobila . De exemplu expresia 21 / 5 are rezultatul 4 daca acesta este stocat intr-un int .

Impartirea modulo % " ) produce ca rezultat restul impartirii . In expresia 21 / 5 rezultatul pe care il vom obtine va fi

In general majoritatea operatiilor aritmetice cu intregi produc un rezultat de tip int indiferent de tipul initial al operanzilor . Daca lucram cu alte tipuri - numere in virgula mobila sau intregi long - trebuie sa ne asiguram ca operanzii au acelasi tip cu cel la care vrem sa ajungem .

Mai jos avem prezentat un exemplu care integreaza folosirea tuturor operatorilor aritmetici :

class Amoeba

}

Comentand pe scurt aceasta aplicatie Java extrem de simpla observam ca in liile 3- 5 se creaza trei variabile ce primesc in acelasi timp si valori initiale ; variabilele x si y sunt declarate de tipul int iar variabila a este declarata numar in virgula mobila float - deoarece tipul predefinit in Java pentru numere in virgula mobila este double trebuie sa adaugam sufixul f la sfarsitul literalului pentru a indica ( si forta ) tipul float .

In cadrul programului apare in mai multe instructiuni sintagma " System.out.println " ; Aceasta metoda este folosita in aplicatii pentru a afisa siruri si in general informatii pe dispozitivul standard de iesire - in cele mai multe cazuri ecranul .

System.out.println() preia un singur argument ( intre paranteze ) : un sir . Pentru a prezenta mai mult de o variabila sau un literal ca argument pentru println() se poate folosi operatorul + , pentru a concatena aceste elemente intr-un singur sir .

ATRIBUIREA UNEI VALORI

Atribuirea este o expresie , ea producand un rezultat . In practica atribuirea poate apare intr-un sir de instructiuni :

x=y=z=10;

Rezultatul acestei instructiuni este initializarea celor trei variabile cu valoarea

Partea din dreapta a unei expresii de atribuire este intotdeauna calculata inainte de a avea loc atribuirea propriu-zisa . Acest lucru face posibila folosirea unei expresii de felul urmator :

int x=5;

x=x+2;

Logic se calculeaza intai x+ rezultatul fiind 7 si apoi aceasta valoare este atribuita variabilei x .

Atribuirea este operatia cea mai des intalnita in programare si in consecinta au aparut mai multi operatori speciali pentru diferite cazuri de atribuire . Mai jos vom vedea operatorii de atribuire speciali precum si echivalentele functionale ale acestora :

X+=Y X=X+Y

X-=Y X=X-Y

X*=Y X=X*Y

X/=Y X=X/Y

Acesti operatori de atribuire sunt echivalenti perfect cu instructiunile pe care le inlocuiesc dar trebuie avuta mare atentie la utilizarea lor ; in cazul folosirii acestor operatori in cadrul unor expresii mai complexe exista cazuri in care acesti operatori nu mai sunt echivalenti . Ca exemplu putem lua situatia urmatoare :

X=20; Y=5;

X=X/Y+5; si

X/=Y+5;

Rezultatele celor doua instructiuni vor fi diferite : in primul caz rezultatul va fi 9 iar in cel de-al doilea 2 .

INCREMENTAREA SI DECREMENTAREA

O alta operatie uzuala in programare este adaugarea sau scaderea unei unitati dintr-o variabila intreaga . Exista operatori speciali pentru aceste expresii - operatori numiti de incrementare si decrementare .

Incrementarea unei variabile inseamna a adauga 1 la valoarea sa iar decrementarea unei variabile inseamna a scadea 1 din valoarea sa .

Operatorul de incrementare este + " iar cel pentru decrementare este " - " . Acesti operatori sunt plasati imediat inainte sau dupa numele unei variabile :

int X=7;

X=X++;

In exemplul de mai sus variabila X este incrementata de la 7 la

In cazul in care operatorii de incrementare sau decrementare sunt plasati inaintea variabilei atunci ei se numesc operatori prefix iar in cazul in care apar dupa variabila se numesc operatori sufix .

Intr-o expresie simpla , de exemplu variabila-- , folosirea unui operator prefix sau sufix nu schimba rezultatul . Atunci cand operatiunile de incrementare sau decrementare fac parte dintr-o expresie mai complexa optiunea intre prefix si sufix devine importanta .

Sa comentam putin exemplul de mai jos :

int x,y,z;

x=42; y=x+ z=++x ;

Aceste doua expresii produc rezultate diferite din cauza diferentelor intre operatorii sufix si prefix . Atunci cand folosim operatori sufix , ca in y=x++ , variabila y primeste valoarea lui x inainte ca aceasta sa creasca cu 1 astfel incat y va fi egal cu 42 ; la folosirea operatorilor prefix , ca in z=++x , variabila x este mai intai incrementata si apoi valoarea sa este atribuita lui y , astfel incat z va avea valoarea 44 .

Ca si incazul operatorilor speciali de atribuire trebuie avuta mare grija in cazul folosirii operatorilor de incrementare si decrementare in cazul unor expresii mai complexe - existand posibilitatea introducerii unei erori destul de greu de depistat in cadrul programului .

OPERATORI PENTRU COMPARATII

Java poseda mai multi operatori folositi pentru a face comparatii intre variabile , intre variabile si literale sau intre alte tipuri de informatie dintr-un program Java .

Acesti operatori sunt folositi in expresii care intorc valori booleene true si false , in functie de valoarea de adevar a comparatiei .

In cele ce urmeaza prezentam operatorii de comparatie uzitati in Java :

Operator Semnificatie Exemplu

== egal x==3

!= diferit x 3

< mai mic decat x<3

> mai mare decat x>3

<= mai mic sau egal cu x<=3

>= mai mare sau egal cu x>=3

In continuare avem un exemplu practic de folosire a unei comparatii :

boolean tanar;

int varsta=41;

tanar=varsta<35;

Expresia varsta<35 produce rezultatul true sau false ( in cazul nostru false ) in functie de valoarea variabilei varsta . In final valoarea variabilei " tanar " va fi astfel false .

OPERATORI LOGICI

Expresiile care produc valori booleene ( cum ar fi comparatiile ) pot fi combinate pentru a forma expresii mai complexe . Acest lucru poate fi realizat folosind operatorii logici . Acesti operatori pot fi folositi pentru combinatii logice AND ( si ) , OR ( sau ) , XOR ( sau exclusiv ) si NOT ( negare ) .

Pentru combinatiile AND se folosesc operatorii logici & si && . Atunci cand doua expresii booleene sunt conectate prin operatorii & sau && expresia combinata returneaza valoarea true doar daca ambele expresii booleene au valoarea true .

Diferenta intre & si && consta in modul in care Java evalueaza expresia combinata . Daca se foloseste & atunci se evalueaza ambele expresii indiferent de valoarea lor . Daca se foloseste && si expresia din stanga operatorului are valoarea de adevar false atunci expresia din dreapta operatorului nu mai este evaluata deoarece rezultatul final va fi oricum false .

Pentru combinatiile OR se folosesc operatorii | sau | Aceasta combinatie de expresii intoarce valoarea true daca cel putin una dintre expresiile booleene este adevarata .

In cazul folosirii operatorului | daca prima expresie booleena are valoarea true atunci a doua nici nu se mai evalueaza , rezultatul final fiind oricum true .

Combinatia XOR foloseste un singur simbol : " ^ " . Acesta are ca rezultat o valoare true numai daca ambele expresii booleene pe care le combina au valori diferite . In cazul in care ambele expresii au valoarea true sau ambele false atunci rezultatul va fi false .

Combinatia NOT foloseste operatorul logic " , urmat de o singura expresie . Acesta schimba valoarea unei expresii booleene in acelasi fel in care simbolul " schimba semnul pozitiv sau negativ al unui numar .

PRECEDENTA OPERATORILOR

Atunci cand intr-o expresie se folosesc mai multi operatori Java are stabilita o anumita ordine in care ii evalueaza . In majoritatea cazurilor aceasta precedenta determina valoarea finala a expresiei .

In general , ordinea operatiilor este urmatoarea :

operatii de incrementare si decrementare

operatii aritmetice

comparatii

operatii logice

expresii de atribuire

Daca doua operatii au aceeasi precedenta , cea aflata mai in stanga expresiei va fi calculata prima .

In tabelul de mai jos avem prezentata precedenta operatorilor :

. [] ()

Parantezele rotunde se folosesc pentru a grupa expresii ; punctul se foloseste pentru a accesa metodele si variabilele din cadrul obiectelor si claselor ; parantezele drepte sunt folosite pentru tablouri .

++ -- ! instanceof

Instanceof intoarce valoarea true sau false daca obiectul este sau nu o instanta a clasei numite sau a unei subclase a acesteia

new (tip) expresie

Operatorul new este folosit pentru crearea de noi instante ale claselor ; in acest caz se foloseste pentru transformarea unei valori intr-un alt tip

* / %

Inmultire , impartire , modulo

+ -

Adunare , scadere

<< >> >>>

Deplasarea pe biti la stanga si la dreapta

< > >= <=

Comparatii

== !=

Teste de egalitate

&

AND

^

XOR

|

OR

&&

AND optimizat ( logic )

||

OR optimizat ( logic )

?:

Operatorul conditional

= += -= *= /= %=

Atribuiri

In cazul in care nu suntem siguri de precedenta diferitiolor operatori cea mai buna solutie este folosirea parantezelor pentru a impune precedenta dorita .

ARITMETICA SIRURILOR

Operatorul " este folosit nu doar pentru calcule matematice ci si pentru a concatena siruri .

Operatorul " concateneaza siruri , alte obiecte si variabile pentru a forma un singur sir .

Pentru a adauga ceva la sfarsitul unui sir se poate folosi si operatorul = " , ca in exemplul urmator :

numeleMeu +=" Jr.";

Instructiunea anterioara este bineinteles echivalenta cu :

numeleMeu=numeleMeu + " Jr.";

Curs - 2

PROGRAMARE ORIENTATA OBIECT - Object Oriented Programming ( OOP )

Programarea orientata obiect este un concept remarcabil - chiar daca in realitate nu este foarte "modern el aparand ideatic inca din anii '70 ! Ideea centrala este destul de simpla si clara : organizati programele intr-un mod care sa oglindeasca modul cum sunt organizate obiectele din lumea reala .

In mod normal prezentarea urmatoare ar trebui privita doar ca o recapitulare a principiilor OOP studiate deja in cadrul limbajului C+

Un program este privit in general ca o lista de instructiuni care ii spun calculatorului ce are de facut . Un program este considerat de OOP drept un set de obiecte care lucreaza impreuna cu scopul de a indeplini o sarcina .

Ca exemplu sa luam un model practic extrem de intalnit in aceste zile - construirea unui PC din diferite componente separate ( placa de baa , placa video , procesor , etc. ) . Intern , fiecare dintre aceste componente poate fi extrem de complicata si complexa dar cel ce asambleaza intregul nu are nevoie sa stie exact detaliile de functionare interna a fiecarei componente ci doar cateva date foarte concrete :

se vor potrivi aceste componente la nivel fizic ?

vor putea lucra impreuna din punct de vedere functional aceste componente ?

Odata cunoscute interactiunile dintre componente realizarea sistemului final va fi destul de simpla .

Programarea orientata obiect se muleaza perfect pe exemplul anterior ; programul nostru fiunal se compune din mai multe componente - obiecte care trebuie sa interactioneze cu succes .

Un obiect este un element independent al unui program , care reprezinta un set de caracteristici corelate si este proiectat pentru a realiza anumite sarcini . Obiectele mai sunt numite si instante .

OBIECTE SI CLASE

O clasa este un model ( sablon ) folosit pentru a crea mai multe obiecte cu aceeasi caracteristici .

Clasele inglobeaza toate caracteristicile unui anumit set de obiecte . Atunci cand scriem un program intr-un limbaj OOP nu definim obiecte ci classe de obiecte .

Clasele sunt folosite pentru a crea obiecte cu care vom lucra apoi direct in program .

Cand scriem un program in Java proiectam si construim un set de clase . Atunci cand programul ruleaza din aceste clase sunt create obiecte si apoi acestea sunt folosite . Sarcina programatorului Java este de a crea seturile corecte de clase pentru ca programul sa se comporte corespunzator .

In practica nici macar nu trebuie pornit de la zero cu constructia claselor . Fiecare versiune de Java contine un grup de clase care implementeaza caracteristicile de baza de care au in general nevoie programatorii . Aceste grupe de clase se numesc biblioteci .

O biblioteca de clase este un grup de clase proiectate pentru a fi folosite impreuna cu alte programe . Biblioteca de clase Java standard contine mai multe zeci de clase ( depinzand exact de versiunea limbajului ) .

Biblioteca standard Java se ocupa de mai multe sarcini uzuale , cum ar fi functii matematice , lucru cu text , imagini , sunet interactiune cu utilizatorul si lucru in retea . In multe cazuri bibliotecile Java sunt de ajuns pentru un program de nivel scazut . In acest caz programatorul are ca sarcina doar crearea unei singure clase , folosite pentru a crea obiecte pronind de la clasele Java standard si pentru a administra interactiunile dintre acestea .

Odata cu avansarea in programarea Java se poate crea un set complet nou de clase care sa aiba definite anumite interactiuni intre ele ; acestea pot fi folosite pentru a se alcatui eventual o biblioteca proprie de clase care poate fi reutilizata mai tarziu in alte programe . Aceasta capacitate de reutilizare este unul dintre avantajele majore ale programarii orientate obiect .


Document Info


Accesari: 4275
Apreciat: hand-up

Comenteaza documentul:

Nu esti inregistrat
Trebuie sa fii utilizator inregistrat pentru a putea comenta


Creaza cont nou

A fost util?

Daca documentul a fost util si crezi ca merita
sa adaugi un link catre el la tine in site


in pagina web a site-ului tau.




eCoduri.com - coduri postale, contabile, CAEN sau bancare

Politica de confidentialitate | Termenii si conditii de utilizare




Copyright © Contact (SCRIGROUP Int. 2024 )