Documente Academic
Documente Profesional
Documente Cultură
Home
Cursuri CCNA, Cursuri JAVA, Cursuri LINUX, Cursuri PHP/MySQL, Cursuri baze de date, Cursuri progamare
Despre noi
Imagini
Tarife
Support
Contact
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.
Materialul de cursclose
Contul
cursantului
Java
1 Modul Deconectare
3
Regulament
in curs
3.1Clase
Clase
Clase finalizate
Profil personal
ClaseIn in
programarea
curs 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
comportamentele
ceea ce2014
stie obiectul sa faca.
Java 1 - 7 Octombrie
Definirea unei clase se face cu ajutorul cuvantului cheie class:
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 class2014-10-07
se pot pune modificatori. Despre modificatori vom discuta in acest curs in lectiile urmatoare.
Data
incepere:
Data
finalizare:
public
class Program{
}
Instructor:
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
potManual
exista mai
multe clase
definite
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;
recomandat
pentru
certificarea
Materiale scrise
Videoconferinte
Examene teoretice
Rezultate obtinute
Clase finalizate
Pentru a intra in clasa, selecteaza clasa dorita cu click pe numele clasei din partea stanga.
Cuprins
Inchidere
Profil personal
Email:
daniela.cosmeleata@gmail.com
Nume:
Cosmeleata
Prenume:
Daniela Beatrice
Telefon:
0722252539
Adresa:
Actualizare
Modificare parola:
Parola veche:
Parola noua:
Confirmare parola:
Modifica
Regulament
Like You and 2,695 others like this.
http://www.telacad.ro/cursant/main
1/19
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.
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.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:
http://www.telacad.ro/cursant/main
2/19
10/14/2014
Cursuri CCNA, Cursuri JAVA, Cursuri LINUX, Cursuri PHP/MySQL, Cursuri baze de date, Cursuri progamare
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.
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.
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.
http://www.telacad.ro/cursant/main
4/19
10/14/2014
Cursuri CCNA, Cursuri JAVA, Cursuri LINUX, Cursuri PHP/MySQL, Cursuri baze de date, Cursuri progamare
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.
http://www.telacad.ro/cursant/main
5/19
10/14/2014
Cursuri CCNA, Cursuri JAVA, Cursuri LINUX, Cursuri PHP/MySQL, Cursuri baze de date, Cursuri progamare
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:
http://www.telacad.ro/cursant/main
6/19
10/14/2014
Cursuri CCNA, Cursuri JAVA, Cursuri LINUX, Cursuri PHP/MySQL, Cursuri baze de date, Cursuri progamare
Apelul comportamentelor:
http://www.telacad.ro/cursant/main
7/19
10/14/2014
Cursuri CCNA, Cursuri JAVA, Cursuri LINUX, Cursuri PHP/MySQL, Cursuri baze de date, Cursuri progamare
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.
http://www.telacad.ro/cursant/main
8/19
10/14/2014
Cursuri CCNA, Cursuri JAVA, Cursuri LINUX, Cursuri PHP/MySQL, Cursuri baze de date, Cursuri progamare
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.
http://www.telacad.ro/cursant/main
9/19
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.
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
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 0
float si double valoare implicita este 0.0
char valoarea implicita este '/u0000'
boolean valoarea implicita este false
orice tip de obiect valoarea implicita este null
http://www.telacad.ro/cursant/main
11/19
10/14/2014
Cursuri CCNA, Cursuri JAVA, Cursuri LINUX, Cursuri PHP/MySQL, Cursuri baze de date, Cursuri progamare
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.
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
bidimensionale - matrice
pluridimensionale
Tablouri unidimensionale:
http://www.telacad.ro/cursant/main
12/19
10/14/2014
Cursuri CCNA, Cursuri JAVA, Cursuri LINUX, Cursuri PHP/MySQL, Cursuri baze de date, Cursuri progamare
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:
Parcurgerea unui vector se poate face folosind o structura repetitva for, deoarece indecsii se gasesc intotdeauna intr-un interval continuu de numere.
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.
http://www.telacad.ro/cursant/main
13/19
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 vectori
au doua dimensiuni cu lungime proprie
fiecare dimensiune este indexata incepand cu valoare 0
intervalul indecsilor este intre 0 si lungimea - 1
Deoarece o matrice are doua dimensiuni parcurgerea se poate face folosind doua structuri de control for imbricate.
Tablouri pluridimensionale:
http://www.telacad.ro/cursant/main
14/19
10/14/2014
Cursuri CCNA, Cursuri JAVA, Cursuri LINUX, Cursuri PHP/MySQL, Cursuri baze de date, Cursuri progamare
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.
http://www.telacad.ro/cursant/main
15/19
10/14/2014
Cursuri CCNA, Cursuri JAVA, Cursuri LINUX, Cursuri PHP/MySQL, Cursuri baze de date, Cursuri progamare
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.
Odata definita enumerarea Zi exista tipul de data Zi care poate lua valorile: luni, marti, miercuri, joi, vineri, sambata, duminica
http://www.telacad.ro/cursant/main
17/19
10/14/2014
Cursuri CCNA, Cursuri JAVA, Cursuri LINUX, Cursuri PHP/MySQL, Cursuri baze de date, Cursuri progamare
http://www.telacad.ro/cursant/main
18/19
10/14/2014
Cursuri CCNA, Cursuri JAVA, Cursuri LINUX, Cursuri PHP/MySQL, Cursuri baze de date, Cursuri progamare
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:
http://www.telacad.ro/cursant/main
19/19