Sunteți pe pagina 1din 19

10/14/2014

Cursuri CCNA, Cursuri JAVA, Cursuri LINUX, Cursuri PHP/MySQL, Cursuri baze de date, Cursuri progamare

Inscrieri Online

Pentru cursurile Telecom Academy va puteti inscrie si online prin simpla completare a acestui formular. Inainte de inscriere asigurati-va ca ati citit materialul cursului dorit, pentru a avea o cat mai buna intelegere a materiei si a modului de predare.

cat mai buna intelegere a materiei si a modului de predare. Materialul de curs close Contul

Materialul de cursclose

Contul cursantului

Java 1 Modul 3

Regulamentde curs close Contul cursantului Java 1 Modul 3 Deconectare Contact 3.1 Clase Clase in curs

3.1 Clase Clase in curs Clase finalizate Profil personal Clase in curs In programarea orientata
3.1 Clase
Clase in curs
Clase finalizate
Profil personal
Clase in curs
In
programarea orientata pe obiecte, spre deorebire de programarea procedurala vom defini obiecte, le vom crea mai apoi (sau instantia) si instantele create vor interactiona pentru a defini programul. Clasa are unul dintre cele mai importante roluri. O

clasa reprezinta o matrita (schita) care defineste un prototip. Aceasta descrie modul in care vor arata instantele create. Un obiect este definit de o clasa prin atribute si comportamente. Atributele reprezinta ceea ce cunoaste obiectul, iar

Definirea unei clase se face cu ajutorul cuvantului cheie class:

Java 1 - 7 Octombrie 2014

class Nume{

}

Informatii clasa

Standard numele unei clase incepe cu litera capitala. Fiind identificator, numele clasei se scrie si respecta aceleasi reguli ca in cazul scrierii numelor de variabile.

Nume clasa:

Java 1 - 7 Octombrie 2014

Curs:

Java 1

Inaintea cuvantului cheie class se pot pune modificatori. Despre modificatori vom discuta in acest curs in lectiile urmatoare.

Data incepere:

Data public finalizare: class Program{

}

Instructor:

2014-10-07

2015-02-14

Laurentiu Spilca

Acoladele (in engleza braces) incadreaza blocul de cod al unei clase. In clasa se pot defini si initializa zone de memorie, se pot defini metode si chiar putem crea alte clase. Alte instructiuni nu pot fi facute direct intre acoladele ce incadreaza blocul de cod al unei clase.

Materiale

O clasa precedata la definitie de modificatorul de acces public trebuie scrisa intr-un fisier care sa aiba numele acestei clase (va aminesc faptul ca limbajul face diferenta intre litere mari si litere mici) si extensia .java; Intr-un fisier cu extensia .java nu

pot Manual exista mai recomandat multe clase pentru definite certificarea public . SCJP Clase care t Manual exista mai recomandat multe clase pentru definite certificarea public. SCJP Clase care nu sunt precedate de acest modificator pot fi puse mai multe in acelas fisier .java; Un fisier cu extensia .java trebuie sa contina macar o clasa publica;

Materiale scrise Videoconferinte Examene teoretice Rezultate obtinute Cuprins Inchidere Email:
Materiale scrise
Videoconferinte
Examene teoretice
Rezultate obtinute
Cuprins
Inchidere
Email:
daniela.cosmeleata@gmail.com

Clase finalizate

Pentru a intra in clasa, selecteaza clasa dorita cu click pe numele clasei din partea stanga.

Profil personal

Nume: Cosmeleata Prenume: Daniela Beatrice Telefon: 0722252539 Adresa: Aleea Campul cu Flori nr. 2 Actualizare
Nume:
Cosmeleata
Prenume:
Daniela Beatrice
Telefon:
0722252539
Adresa:
Aleea Campul cu Flori nr. 2
Actualizare
Parola veche:
Parola noua:
Confirmare parola:
Modifica
You and 2,695 others like this.

Modificare parola:

Regulament

Like
Like

Laborator-Videoconferinta. Packet Tracer. Cisco Aspire. Mai multe detalii

Marti, 16 Nu Aprilie puteau 2013 fi definite la ora ambele 18:30 a clase fost prezentat public. Observati seminarul in cu imaginile tema "Comunicarea de mai sus ca intre numele aplicatii fisierului pe dispozitive este dat de mobile numele si clasei aplicatii public. enterprise prin servicii web". Puteti revedea inregistrarea aici.

10/14/2014

Cursuri CCNA, Cursuri JAVA, Cursuri LINUX, Cursuri PHP/MySQL, Cursuri baze de date, Cursuri progamare

Joi, 16 Mai 2013 la ora 18:30 a fost prezentat seminarul cu tema "Implementarea serviciilor web folosind arhitecturi REST". Puteti revedea inregistrarea aici.

arhitecturi REST". Puteti revedea inregistrarea aici . Regulile prezentate mai jos sunt obligatorii in vederea

Regulile prezentate mai jos sunt obligatorii in vederea bunei desfasurari a unui curs (prin care intelegem cea mai eficienta maniera de lucru in urma careia cursantul sa ajunga la finalul cursului ales sa cunoasca cat mai bine elementele teoretice predate si sa dobandeasca cat mai eficient abilitatile practice exemplificate. Aceste reguli nu au rolul de a va pune in dificultate, ci de a eficientiza modul de lucru si a va ajuta in indeplinirea obiectivelor cursurilor.)

Acest cont reprezinta identitatea dumneavoastra la Telecom Academy. Contul poate fi folosit doar pentru studiu iar informatia prezentata in cursurile Telecom Academy nu poate fi folosita in scopuri daunatoare sau care sa aiba drept consecinta incarcalea vreunei legi.

Materialele de studiu puse la dispozitie cursantilor pe cont sunt disponibile incepand cu inceperea cursului (din momentul inscrierii in clasa)si vor putea fi accesate oricand dupa. Examenele aferente unui curs sunt disponibile incepand cu inceperea cursului efectiv - in cazul claselor cu predare - si din momentul inscrierii in clasa - in cazul claselor la distanta. Examenele sunt accesibile numai pana la data de finalizare a clasei stabilita inainte de inceperea cursului. Data de finalizare a clasei se poate vedea pe contul cursantului pentru fiecare clasa in parte.

Rezultatele obtinuite de cursant pentru fiecare curs atat pentru examenele teoretice cat si pentru examenele practice pot fi vazute pe cont pentru fiecare curs in parte.

Un curs este considerat promovat in momentul in care cursantul a obtinut la toate examenele o nota mai mare sau egala cu punctajul minim de pomovare. Punctajul minim de promovare pentru un examen este de 70 de puncte din 100. In cazul in care un cursant nu reuseste sa promoveze toate examenele pana la data de finalizare a clasei cursul este considerat nepromovat. Promovarea ulterioara a cursului se poate face numai cu inscrierea intr-o noua clasa. In cazul in care un cursant este reinscris acesta va pastra rezultatele obtinute la cursul anterior dar va putea resustine oricare din examene.

In cazul examenelor care au si proba practica nota finala reprezinta media aritmetica a celor doua note obtinute. Cu toate acestea cursantul trebuie sa obtina punctajul minim de 70 de puncte din 100 pentru fiecare din cele doua parti ale examenului - proba teoretica si proba practica.

Proba teoretica a unui examen consta intr-un set de intrebari grila (cu alegere simpla sau multipla). Acestea sunt corectate pe loc de catre sistem in momentul in care cursantul alege finalizarea examenului. Rezultatul este stocat si ulterior afisat cursantului in clasa la sectiunea "Rezultate obtinute". Un examen poate fi sustinut de maximum 3 ori. In cazul in care un cursant sustine de mai multe ori un examen rezultatul care va fi pastrat este intotdeauna ultimul obtinut (NU cel mai mare dintre acestea).

3.2 Obiecte si definirea atributelor

Un obiect este definit de o clasa. Un program orientat pe obiecte se foloseste de instante de obiecte si interactiuni intre acestea la executie. Clasa defineste modul in care va arata si se va comporta un obiect; Prin urmare obiectul are doua caracteristici importante: Atributele si Comportamentul (in engleza attributes and behaviour);

Atributele pot fi zone de memorie primitive sau alte instante de obiecte; Acesta este primul mod in care doua instante de obiecte pot interactiona (De exemplu: obiectul masina are patru instante ale obiectului roata).

Comportamentul unui obiect este reprezentat de metode numite metode de instanta;

Descrierea unui obiect prin atributele sale:

Standard atributele unui obiect sunt primele scrise in clasa; De exemplu sa presupunem ca vrem sa programam o minge; Iata cateva atribute care ar putea descrie acest obiect:

String culoareIata cateva atribute care ar putea descrie acest obiect: double greutate double presiuneInterna Pentru a defini

double greutateatribute care ar putea descrie acest obiect: String culoare double presiuneInterna Pentru a defini acest obiect

double presiuneInternaputea descrie acest obiect: String culoare double greutate Pentru a defini acest obiect trebuie sa construim

Pentru a defini acest obiect trebuie sa construim clasa Minge care sa contina aceste zone de memorie.

clasa Minge care sa contina aceste zone de memorie. public class Minge{ String culoare; double greutate;

public class Minge{

String culoare;

double greutate;

double presiuneInterna;

}

3.3 Comportamente

Metodele reprezinta blocuri de instructiuni care sunt definite si pot fi apelate ulterior de oricate ori este nevoie. Aceste blocuri de instructiuni sunt identificate printr-un nume si pot primi informatii pentru executie (numite parametrii sau argumente) avand si posibilitate de a oferi informatii utile la finalizare (informatiile oferite la finalul executiei unei metode se numeste date returnate). Iata cum se poate defini o metoda:

10/14/2014

Cursuri CCNA, Cursuri JAVA, Cursuri LINUX, Cursuri PHP/MySQL, Cursuri baze de date, Cursuri progamare

Cursuri PHP/MySQL, Cursuri baze de date, Cursuri progamare Se numeste semnatura metodei tipul acesteia impreuna cu

Se numeste semnatura metodei tipul acesteia impreuna cu numele si parametrii. Modificatorii nu sunt obligatorii in scrierea unei metode, insa orice metoda trebuie sa aiba macar un tip, un nume si parantezele parametrilor chiar daca nu primeste niciun parametru. Tipul metodei reprezinta exact tipul informatiei pe care o returneaza. Daca metoda nu returneaza nicio data atunci tipul acesteia este void. In exemplul de mai sus aveti definirea unei metode care nu primeste parametri si nu returneaza nimic.

In exemplul de mai jos, este definita clasa Numere in care metoda afisare() primeste ca parametru o valoare numerica intreaga si afisaza toate numerele intre 0 si valoarea primita prin parametru.

toate numerele intre 0 si valoarea primita prin parametru. Observati ca la scrierea unei metode parametrii

Observati ca la scrierea unei metode parametrii sunt considrati valori cunoscute. Acestea vor fi date in momentul in care se face apelul metodei. Parametrii scrisi la definirea unei metode se numesc parametri formali, in timp ce parametrii dati la apel se vor numi parametri efectivi. Metoda de mai jos primeste doua numere reale prin parametrii si returneaza suma lor.

de mai jos primeste doua numere reale prin parametrii si returneaza suma lor. http://www.telacad.ro/cursant/main 3/19

10/14/2014

Cursuri CCNA, Cursuri JAVA, Cursuri LINUX, Cursuri PHP/MySQL, Cursuri baze de date, Cursuri progamare

Instructiunea return este responsabila de returnarea valorii. In cazul acesta valoarea este suma celor doua numere date prin parametri. Intotdeauna tipul datei returnate trebuie sa corespunda cu tipul metodei. In exemplul de mai sus este definit corect, deoarece suma a doua numere reale nu poate fi decat un numar tot real. Un aspect imporant este faptul ca o metoda nu poate returna decat o vaoare. Odata apelata instructiunea return metoda isi incheie activitatea. Chiar daca ar mai exista alte instructiuni dupa return acestea nu ar fi executate.

3.4 Constructorul si crearea instantelor

Dupa ce am descris obiectul prin atributele si comportamentele sale este timpul sa cream instante ale acestuia. Instantele reprezinta entitatile care pot interactiona intre ele pentru a da un scop programului nostru. Daca in interiorul clasei obiectul era descris prin atributele sale, diferenta intre prototipul definit de clasa si o instanta construita cu ajutorul acestuia este ca atributele nu mai sunt formale ci devin efective; De exemplu pentru obiectul Pisica:

ci devin efective; De exemplu pentru obiectul Pisica: Am sa creez o clasa cu numele Program

Am sa creez o clasa cu numele Program in care voi defini o instanta de Pisica.

cu numele Program in care voi defini o instanta de Pisica. Din sintaxa de mai sus

Din sintaxa de mai sus Pisica p1 = new Pisica();

Pisica - tipul zonei de memorie

p1 - numele instantei

= - operatorul de aribuire

new - operatorul de instantiere (folosit pentru crearea instantelor impreuna cu un constructor. reprezinta de asemenea si un cuvant cheie)

Pisica() - constructor implicit

As fi putut face definirea si in urmatorul fel:

10/14/2014

Cursuri CCNA, Cursuri JAVA, Cursuri LINUX, Cursuri PHP/MySQL, Cursuri baze de date, Cursuri progamare

Cursuri PHP/MySQL, Cursuri baze de date, Cursuri progamare Constructorul poate fi considerat o metoda mai speciala.

Constructorul poate fi considerat o metoda mai speciala. Aceasta nu are tip la definire. Constuctorul este folosit in primul rand pentru a defini o instanta a clasei in care este scris si de asemenea ca instructiuni ale constructorului putem scrie linii de cod care sa se execute la creare instantei. De exemplu am putea da valori atributelor instantei in momentul crearii lor. Constructorul are intotdeauna acelasi nume cu al clasei in care se afla si poate primi parametri care sunt considetati pentru instructiuni valori cunoscute. Orice clasa are un constructor denumit constructor implicit, care nu primeste parametri si nu executa nimic, dar cu ajutorul caruia se pot crea instante ale clasei. Odata definit un alt constructor in clasa, constuctorul implicit nu mai exista.

constructor in clasa, constuctorul implicit nu mai exista. Constuctorul implicit nu mai exista: dar poate fi

Constuctorul implicit nu mai exista:

implicit nu mai exista. Constuctorul implicit nu mai exista: dar poate fi folosit: http://www.telacad.ro/cursant/main

dar poate fi folosit:

10/14/2014

Cursuri CCNA, Cursuri JAVA, Cursuri LINUX, Cursuri PHP/MySQL, Cursuri baze de date, Cursuri progamare

Cursuri PHP/MySQL, Cursuri baze de date, Cursuri progamare Valorile date la creare instantei puse in zona

Valorile date la creare instantei puse in zona de memorie p1 se numesc valori efecive. La apelul constructorului se vor executa si instructiunile acestuia care vor face ca numele insantei sa fie "Tom" si greutatea 3.5; Constructorul se scrie standard dupa definirea atributelor clasei.

O instanta poate fi creata si fara a o stoca intr-o zona de memorie:

poate fi creata si fara a o stoca intr-o zona de memorie: 3.5 Accesul la atribute

3.5 Accesul la atribute si apelul comportamentelor

Accesul la atribute se poate face folosind operatorul . (punct); Operatorul . (punct) se numeste si operator de dereferentiere. Cu ajutorul lui se poate face referirea la un atribut al unei instante sau la un comportament al unei instante.

10/14/2014

Cursuri CCNA, Cursuri JAVA, Cursuri LINUX, Cursuri PHP/MySQL, Cursuri baze de date, Cursuri progamare

Cursuri PHP/MySQL, Cursuri baze de date, Cursuri progamare Apelul comportamentelor: Un comportament nu poate fi apelat

Apelul comportamentelor:

baze de date, Cursuri progamare Apelul comportamentelor: Un comportament nu poate fi apelat fara existenta unei

Un comportament nu poate fi apelat fara existenta unei instante.

Poate fi creata o instanta provizorie pentru a apela un comportament:

10/14/2014

Cursuri CCNA, Cursuri JAVA, Cursuri LINUX, Cursuri PHP/MySQL, Cursuri baze de date, Cursuri progamare

Cursuri PHP/MySQL, Cursuri baze de date, Cursuri progamare Un atribut este o valoare individuala a unei

Un atribut este o valoare individuala a unei instante. Asta inseamna ca doua instante ale clasei Pisica pot avea sau nu aceeasi culoare. Spunem ca doua instante sunt egale daca valorile atributelor lor sunt egale.

sunt egale daca valorile atributelor lor sunt egale. 3.6 Zone de memorie de clasa Zonele de

3.6 Zone de memorie de clasa

Zonele de memorie de clasa se mai numesc si zone de memorie statice, deoarece se creaza folosind modificaorul static. O zona de memorie de clasa nu reprezinta un atribut. Valoarea acesteia este comuna in toate instantele definite de clasa. Deoarece valoarea ei este unica, o variabila statica poate fi dereferentiata direct din clasa.

10/14/2014

Cursuri CCNA, Cursuri JAVA, Cursuri LINUX, Cursuri PHP/MySQL, Cursuri baze de date, Cursuri progamare

Cursuri PHP/MySQL, Cursuri baze de date, Cursuri progamare Rezulatul va fi ultima valoare atribuita lui z,
Cursuri PHP/MySQL, Cursuri baze de date, Cursuri progamare Rezulatul va fi ultima valoare atribuita lui z,

Rezulatul va fi ultima valoare atribuita lui z, deoarece z este acelasi si pentru p1 si pentru p2 si poate fi accesat prin dereferentiere din clasa.

pentru p2 si poate fi accesat prin dereferentiere din clasa. 3.7 Metode de clasa http://www.telacad.ro/cursant/main 9/19

3.7 Metode de clasa

10/14/2014

Cursuri CCNA, Cursuri JAVA, Cursuri LINUX, Cursuri PHP/MySQL, Cursuri baze de date, Cursuri progamare

Pana acum metodele definite reprezentau comportamente ale instantelor definite cu clasa in care acestea erau create. Exista totusi posibilitatea de a defini metode care nu reprezinta comportamente. Acestea se numesc metode statice sau de clasa, se creaza folosind modificatorul static si nu pot folosi decat alte sintaxe tot statice. Cu alte cuvinte o metoda de clasa nu poate accesa atributele clasei sau comportamentele definite in clasa. Cea mai importanta dintre metodele de clasa este metoda principala a programului main(). Deoarece metodele statice nu reprezinta comportamente acesta pot fi dereferentiate, similar variabilelor statice, folosind numele clasei in care se afla.

statice, folosind numele clasei in care se afla. Nu pot fi accesate entitati non-statice:
statice, folosind numele clasei in care se afla. Nu pot fi accesate entitati non-statice:

Nu pot fi accesate entitati non-statice:

numele clasei in care se afla. Nu pot fi accesate entitati non-statice: http://www.telacad.ro/cursant/main 10/19

10/14/2014

Cursuri CCNA, Cursuri JAVA, Cursuri LINUX, Cursuri PHP/MySQL, Cursuri baze de date, Cursuri progamare

3.8 Domeniul de vizibilitate al variabilelor

O variabila poate fi definita:

global (in interiorul clasei)vizibilitate al variabilelor O variabila poate fi definita: local (in interiorul unei metode sau structuri) Daca

local (in interiorul unei metode sau structuri)O variabila poate fi definita: global (in interiorul clasei) Daca variabila este definita direct in interiorul

Daca variabila este definita direct in interiorul clasei ea este accesibila de catre toate metodele din clasa. Daca este definita intr-o metoda sau o structura atunci variabila este vizibila numai local, in structura care o defineste. Daca exista o variabila globala si una locala cu acelasi nume atunci cea accesata este intotdeauna cea mai locala. Prin urmare exista posibilitatea de a defini variabile cu acelasi nume doar daca sunt in domenii de vizibilitate diferite.

nume doar daca sunt in domenii de vizibilitate diferite. In cazul de mai sus este exemplificat

In cazul de mai sus este exemplificat modul de definire global si local al variabilelor. In structura while, variabila x folosita este cea definita in interiorul structurii. Acea variabila este vizibila numai in structura while, fiind inaccesibila in afara

acesteia.

O variabila definita local nu are valoare implicita. Folosirea acesteia in operatii fara a-i atibui o valoare duce la aparitia unei erori de sintaxa.

Variabilele definite global (precum atributele) au valori implicite in functie de tipul de data:

Pentru:

int, long, short, byte valoarea implicita este 0au valori implicite in functie de tipul de data: Pentru: float si double valoare implicita este

float si double valoare implicita este 0.0Pentru: int, long, short, byte valoarea implicita este 0 char valoarea implicita este '/u0000' boolean

char valoarea implicita este '/u0000'implicita este 0 float si double valoare implicita este 0.0 boolean valoarea implicita este false orice

boolean valoarea implicita este falseeste 0.0 char valoarea implicita este '/u0000' orice tip de obiect valoarea implicita este null 3.9

orice tip de obiect valoarea implicita este nulleste '/u0000' boolean valoarea implicita este false 3.9 Supraincarcare (overloading) Supraincarcarea reprezinta

3.9 Supraincarcare (overloading)

Supraincarcarea reprezinta posibilitatea de a defini mai multe metode in aceeasi clasa care au acelasi identificator dar difera prin parametri. Daca doua metode diferite au parametrii diferiti atunci ele pot avea acelasi nume. Parametrii pot fi diferiti fie prin tipul fie prin numarul fie prin ordinea lor. Mai jos aveti exemplul de supraincarcare a metodei suma();

Mai jos aveti exemplul de supraincarcare a metodei suma(); Compilatorul va sti ce metoda se apeleze

Compilatorul va sti ce metoda se apeleze in functie de parametrii dati.

Un exemplu gresit de supraincarare este:

10/14/2014

Cursuri CCNA, Cursuri JAVA, Cursuri LINUX, Cursuri PHP/MySQL, Cursuri baze de date, Cursuri progamare

Cursuri PHP/MySQL, Cursuri baze de date, Cursuri progamare Supraincarcarea este un procedeu care se poate aplica

Supraincarcarea este un procedeu care se poate aplica si constructorilor. Constructorii oricum sunt fortati sa aiba acelasi nume cu al clasei. Asadar folosind supraincarcarea in cazul constructorilor sinugurul lucru care trebuie avut in vedere este definirea folosind parametrii diferiti ca in cazul metodelor.

folosind parametrii diferiti ca in cazul metodelor. Clasa de mai sus defineste un constructor si redefineste

Clasa de mai sus defineste un constructor si redefineste constructorul implicit. Constructorul implicit nu mai exista in cazul definirii unui alt constructor asa cum am vazut deja, insa prin supraincarcare poate fi redefinit si constructorul implicit.

3.10 Tablouri

Un tablou reprezinta o colectie de variabile de acelasi tip. Exista pozibilitatea de a defini o structura de un numar definit de variabile de un anumit tip. Aceste tipuri de structui de date se numesc tablouri (in engleza arrays).

Clasificam tablourile dupa numarul lor de dimensiuni:

unidimensionale - vectori). Clasificam tablourile dupa numarul lor de dimensiuni: bidimensionale - matrice pluridimensionale Tablouri

bidimensionale - matricedupa numarul lor de dimensiuni: unidimensionale - vectori pluridimensionale Tablouri unidimensionale:

pluridimensionaleunidimensionale - vectori bidimensionale - matrice Tablouri unidimensionale: http://www.telacad.ro/cursant/main

Tablouri unidimensionale:

10/14/2014

Cursuri CCNA, Cursuri JAVA, Cursuri LINUX, Cursuri PHP/MySQL, Cursuri baze de date, Cursuri progamare

Cursuri PHP/MySQL, Cursuri baze de date, Cursuri progamare In exemplul de mai sus este definit un

In exemplul de mai sus este definit un vector (tablou cu o singura dimensiune) cu dimensiunea de lungime 100 de tipul int si cu identificatorul a. Fiecare element al acestei structuri este identificat pintr-un index de tip int. Indecsii incep de la valoarea 0 si sunt crescatori, astfel ca ultimul index al unui tablou va avea intotdeauna valoarea lungimii tabloului minus unu. Cum putem folosi o variabila a unui vector:

minus unu. Cum putem folosi o variabila a unui vector: Parcurgerea unui vector se poate face

Parcurgerea unui vector se poate face folosind o structura repetitva for, deoarece indecsii se gasesc intotdeauna intr-un interval continuu de numere.

se gasesc intotdeauna intr-un interval continuu de numere. Cum variabila i ia valori intre 0 si

Cum variabila i ia valori intre 0 si 99 aceasta ia pe rand toate valorile indecsilor. Astfel ca fiecare variabila a tabloului in cazul de mai sus este instantiata cu exact valoare indexului care o reprezinta. Exemplul de mai sus demonstreaza modul in care se poate folosi o variabila ca valoare dinamica a indexului.

10/14/2014

Cursuri CCNA, Cursuri JAVA, Cursuri LINUX, Cursuri PHP/MySQL, Cursuri baze de date, Cursuri progamare

Tablouri bidimensionale:

pot fi considerate vectori de vectoribaze de date, Cursuri progamare Tablouri bidimensionale: au doua dimensiuni cu lungime proprie fiecare dimensiune

au doua dimensiuni cu lungime propriebidimensionale: pot fi considerate vectori de vectori fiecare dimensiune este indexata incepand cu valoare 0

fiecare dimensiune este indexata incepand cu valoare 0vectori de vectori au doua dimensiuni cu lungime proprie intervalul indecsilor este intre 0 si lungimea

intervalul indecsilor este intre 0 si lungimea - 1fiecare dimensiune este indexata incepand cu valoare 0 Deoarece o matrice are doua dimensiuni parcurgerea se

valoare 0 intervalul indecsilor este intre 0 si lungimea - 1 Deoarece o matrice are doua

Deoarece o matrice are doua dimensiuni parcurgerea se poate face folosind doua structuri de control for imbricate.

face folosind doua structuri de control for imbricate. Tablouri pluridimensionale:

Tablouri pluridimensionale:

10/14/2014

Cursuri CCNA, Cursuri JAVA, Cursuri LINUX, Cursuri PHP/MySQL, Cursuri baze de date, Cursuri progamare

Cursuri PHP/MySQL, Cursuri baze de date, Cursuri progamare 3.11 Instanta this Instanta this reprezinta intr-o clasa

3.11 Instanta this

Instanta this reprezinta intr-o clasa instanta curenta. Practic, folosita intr-un comportament aceasta este instanta care se comporta (cea al carei comportament este apelat). Folosita intr-un constructor this reprezinta instanta care este construita. In exemplul de mai jos este exemplificata folosirea instantei this:

de mai jos este exemplificata folosirea instantei this : In exemplul de mai sus parametrii poarta

In exemplul de mai sus parametrii poarta acelasi nume cu atributele. Deoarece parametrii sunt variabile locale iar atribuele clasei sunt varibile globale, in functie prin x si y vor fi apelati numai parametrii. Pentru a putea accesa insa aributele clasei ne putem referi la acestea prin this.x respectiv this.y; In felul acesta se face dereferentiere din instanta care este construita (this);

In cazul de mai jos, deoarece se face referire la this dintr-un comportament this reprezinta instanta care isi executa comportamentul. Nu uitati ca this nu poate fi accesat din metode statice sau contexte statice.

10/14/2014

Cursuri CCNA, Cursuri JAVA, Cursuri LINUX, Cursuri PHP/MySQL, Cursuri baze de date, Cursuri progamare

Cursuri PHP/MySQL, Cursuri baze de date, Cursuri progamare 3.12 Constructorul this() this() reprezinta consructorul
Cursuri PHP/MySQL, Cursuri baze de date, Cursuri progamare 3.12 Constructorul this() this() reprezinta consructorul

3.12 Constructorul this()

this() reprezinta consructorul clasei curente. Pentru a intelege mai bine utilitatea lui this() sa analizam exemplul de mai jos:

a intelege mai bine utilitatea lui this() sa analizam exemplul de mai jos: http://www.telacad.ro/cursant/main 16/19

10/14/2014

Cursuri CCNA, Cursuri JAVA, Cursuri LINUX, Cursuri PHP/MySQL, Cursuri baze de date, Cursuri progamare

Practic la apelul constructorului fara parametri se va crea o instanta de punct cu x=0 si y=1, deoarece constructorul fara parametri apeleaza pe cel cu doi parametri care atribuie valorile atributelor clasei.

3.13 Tipul enum

O enumerare reprezinta un tip de data care poate lua numai anumite valori precizate prin sintaxa la definirea enumerarii. Cel mai comun exemplu pentru o enumerare este prezentat in imaginea de mai jos:

pentru o enumerare este prezentat in imaginea de mai jos: Enumerarea arata in BlueJ: Odata definita

Enumerarea arata in BlueJ:

prezentat in imaginea de mai jos: Enumerarea arata in BlueJ: Odata definita enumerarea Zi exista tipul

Odata definita enumerarea Zi exista tipul de data Zi care poate lua valorile: luni, marti, miercuri, joi, vineri, sambata, duminica

10/14/2014

Cursuri CCNA, Cursuri JAVA, Cursuri LINUX, Cursuri PHP/MySQL, Cursuri baze de date, Cursuri progamare

Cursuri PHP/MySQL, Cursuri baze de date, Cursuri progamare Afisarea valorii in consola: Metoda values() si parcurgerea

Afisarea valorii in consola:

baze de date, Cursuri progamare Afisarea valorii in consola: Metoda values() si parcurgerea valorilor unei enumerari:
baze de date, Cursuri progamare Afisarea valorii in consola: Metoda values() si parcurgerea valorilor unei enumerari:

Metoda values() si parcurgerea valorilor unei enumerari:

10/14/2014

Cursuri CCNA, Cursuri JAVA, Cursuri LINUX, Cursuri PHP/MySQL, Cursuri baze de date, Cursuri progamare

Cursuri PHP/MySQL, Cursuri baze de date, Cursuri progamare In cazul de mai sus, in variabila ziua1
Cursuri PHP/MySQL, Cursuri baze de date, Cursuri progamare In cazul de mai sus, in variabila ziua1

In cazul de mai sus, in variabila ziua1 de tip Zi se pune folosind metoda values() fiecare valoare a enumerarii. In blocul de instructiuni a structurii de control for se poate face ceva mai apoi cu valoarea preluata in variabila. In cazul exemplului de mai sus aceasta este afisata pe o linie noua in consola. Astfel sunt afisate pe linii separate fiecare valoare din enumerare.

Folosirea in structura switch:

pe linii separate fiecare valoare din enumerare. Folosirea in structura switch: http://www.telacad.ro/cursant/main 19/19