Laborator 8 Java Crearea claselor de obiecte. Variabilele (campurile) clasei de obiecte

Similar documents
Laborator 3 Java. Introducere in programarea vizuala

Rezolvare fişă de laborator Java Iniţiere în limbajul Java

Laborator 3 Aplicatii Java

Laborator 4 Java Colectii

Fisiere text in Java.

Laborator 5 Instrucțiunile repetitive

Laborator 5 Sisteme Lindenmayer. Temă

Lucrarea nr.8 CLASE IMBRICATE

Alocarea memoriei în C sub Linux

Probleme propuse pentru Testul de Laborator Semestrul I

PROGRAMARE ORIENTATĂ PE OBIECTE

Fişiere in C++ Un fişier este o colecţie de date indicat printr-un nume şi o extensie. Numele este desparţit de extensie prin punct.

Laborator 1 Java. Citirea datelor de la tastatura si afisarea datelor pe ecran

Laborator 10. SGBD-ul MySQL (partea I)

1. Să se determine de câte ori apare cifra c în scrierea în baza p a numărului n.

1. Citirea datelor de la tastatura si afisarea datelor pe ecran

Laborator 1 Aplicatii Java

Rezolvarea exceptiilor

Curs 4 Programare Orientată pe Obiecte în limbajul Java. Programare Orientată pe Obiecte

Programare orientată pe obiecte. 1. Clase şi obiecte (continuare) 2. Tablouri

AppOBP > PrOBPT > class Timp import java.text.decimalformat;

JavaScript - Intorducere. Și nu numai...

Tema 2 PL/SQL. 3. a. Creati o tabela numita emp_dup care să fie duplicata tabelei employees. Create table emp_dup as select * from employees

Proiectarea Rețelelor 32. Controlul modelelor de trafic in retea prin alterarea atributelor BGP

Lucrarea nr. 2. Funcţii şi structuri în C++

Capitolul 8 Funcţii în limbajul C

Bibliografie. * * *, Java Development Kit ndex.html

Birotică Profesională. Cursul 12

Operatori. Comentarii. Curs 1

Tipuri de date structurate

Curs 3 Clase și obiecte. Limbajul de programare C++ Programare orientată obiect

Ingineria Sistemelor de Programare

Scop: Crearea unei aplicatii ce exemplifica paternul MVVM. In plus se creaza si o comanda in WPF.

Curs 5. Programare Paralela si Distribuita. Forme de sincronizare - Java. Curs 5 - PPD 1

FUNDAMENTELE PROGRAMĂRII

Se cer 2 variante: una cu implementarea statica si a doua cu implementarea dinamica a structurilor de date necesare. Comentati variantele.

Probleme consultații 20 ianuarie 2018

Fișiere de comenzi (BAT) sub DOS

Tehnici avansate de programare

2) Fiecare apel relativ la un obiect este transformat într-un apel obişnuit. Exemplu: myscreen.home(); devine home Screen( &myscreen );

1 Laborator 3: Liste Circulare si Liste Dublu Inlantuite

Programare Orientata spre Obiecte (Object-Oriented Programming)

Metode avansate de programare

CONFIGURAREA UNUI SERVER IRC IN LINUX. Bica Bogdan *

Error! Bookmark not defined.

Siruri de caractere. 1.1 Folosirea şirurilor

Laborator 2 Java. Structura programelor Java. Tipuri de date. Probleme rezolvate: Scrieti, compilati si rulati toate exemplele din acest laborator:

Gestionarea memoriei dinamice. Tablouri şi şiruri de caractere. Conversii de date. Operaţii de intrare / ieşire

Utilizarea formularelor in HTML

Variabile predefinite

STRUCTURI DE DATE SI ALGORITMI LABORATOR 2 STIVA I. ASPECTE TEORETICE

Introducere in AutoCAD 3D

Programare Microsoft Visual Studio.NET

Lucrarea nr.9 SUPRAÎNCĂRCAREA OPERATORILOR

1. Clase. Abstractizarea datelor

Laborator 1 Tehnologia Java

1. Funcţii referitoare la o singură înregistrare (single-row functions)

Îmbunătăţiri aduse în limbajul C++ facilităţilor standard ale limbajului C (cele care nu ţin de conceptele programării orientate obiect).

-modificatorul unei interfeţe este public sau abstract (implicit)

Ingineria Sistemelor de Programare. UML Diagrama Cazurilor de Utilizare 2016

Programul 1.1. Salut.java

Concepte fundamentale ale limbajelor de programare. Limbaje de programare orientate pe obiecte Curs 10 conf. dr. ing. Ciprian-Bogdan Chirila

Programare Orientată pe Obiecte în limbajul Java

Lenuta Alboaie Reţele de calculatoare

Programare orientată pe obiecte

Fluxuri. Programare Orientată pe Obiecte

Curs 7. Programare orientată obiect în Delphi

Dynamic binding vs static binding. Programare Orientată pe Obiecte

Design activities. Session III. 1. Topology. - Selecting and placing devices - Interconnecting devices

Curs practic de Java

la Microsoft Office Communicator pentru ca modificarea selecţiei dispozitivului telefonic să se actualizeze.

Bazele multithreading

Curs 8 Fire de executie

Java. Curs 2. Danciu Gabriel Mihail. Septembrie 2018

Universitatea Constantin Brâncuşi din Târgu-Jiu. Aplicații JAVA. Lect.dr. Adrian Runceanu

Sintaxa definińiei unei funcńii este: tip_rez nume_funcńie (<lista_parametri>) { <declarańii locale> secvenńă de instrucńiuni }

3. Clase (III) - Obiecte constante şi funcţii membre const

LUCRAREA NR. 6 POINTERI

Tehnici avansate de programare

J. Introducere in limbajul Java

Curs 8. Programare orientată obiect în Delphi (II)

Operații de intrare/ieșire în C++

SECTION 5 L1 - Group By and Having Clauses

Lucrarea de laborator nr. 4.NET Remoting 1

Programare orientată pe obiecte. 1. Pachete (packages) 2. Moştenire

Proiectarea bazelor de date. PL/SQL Proceduri în PL/SQL(partea II-a) # 9. Adrian Runceanu

8. Tablouri. 8.1 Tipuri de dată simple şi tipuri de dată structurate

1.Pentru definiţia de mai jos a subprogramului f, ce se afişează ca urmare apeluluif(121,1)? void f(long n, int i) { if(n!=0) if(n%3>0) { cout<<i;

Şiruri de caractere System.String string Verbatim verbatim verbatim Exemplu

Quartz. ArcGIS Runtime SDK for Android

The Reuse of the Components on the Java 2 Enterprise Edition Platform

Aplicatii JAVA. JAVA Programare în rețea # 8. Adrian Runceanu

Aplicatii JAVA. JAVA Excepții în Java # 7. Adrian Runceanu

Laborator 1 Recursivitate

13. Java si XML Fisiere XML în aplicatii Java... XML si orientarea pe obiecte... Utilizarea unui parser SAX... Utilizarea unui parser DOM...

Proiectarea bazelor de date

Clase si metode abstracte

Proiectarea bazelor de date

Anexa 3 - Sed; awk. Filtrarea pe baza de expresii regulate

Curs 1 PPOO. Conf. univ. dr. Cristian CIUREA Departamentul de Informatică și Cibernetică Economică

Transcription:

Laborator 8 Java Crearea claselor de obiecte. Variabilele (campurile) clasei de obiecte Probleme rezolvate: Scrieti, compilati si rulati toate exemplele din acest laborator: 1. Programul urmator (LotoConstante.java) ilustreaza modul de folosire al constantelor pentru atributele clasei. In jocul de loterie, se selecteaza saptamanal sase numere de la 1 la 49. Programul alege aleator numere pentru 1000 de jocuri si afiseaza apoi de cate ori a aparut fiecare numar in cele 1000 de jocuri. Se definesc trei constante de tip intreg pentru clasa LotoConstante: o NUMERE care are valoarea 49, o NUMERE_PE_JOC care are valoarea 6 o si JOCURI are valoarea 1000. import java.io.*; public class LotoConstante static final int NUMERE = 49; static final int NUMERE_PE_JOC = 6; static final int JOCURI = 1000; // genereaza numere de loterie intre 1 si 49 // afiseaza numarul de aparitii al fiecarui numar public static void main(string[] args) throws IOException // genereaza numerele int[] numere = new int[50]; for (int i = 0; i < numere.length; ++i) numere[i] = 0; for (int i = 0; i < JOCURI; ++i) for (int j = 0 ; j < NUMERE_PE_JOC; ++j) numere[(int) (Math.random() * NUMERE) +1]++; // numara aparitiile de numere pe joc // afisare rezultate for (int k = 1; k <= NUMERE; ++k) System.out.println(k + ": " + numere[k]); 1

Rezultatul executiei programului este: 1: 98 2: 128 3: 131 4: 127 5: 123 6: 109 7: 122 8: 134 9: 113 10: 132 11: 130 12: 138 13: 121 14: 131 15: 120 16: 132 17: 130 18: 142 19: 125 20: 124 21: 123 22: 130 23: 108 24: 128 25: 121 26: 124 27: 106 28: 135 29: 137 30: 129 31: 110 32: 111 33: 121 34: 122 35: 108 36: 114 37: 121 38: 126 39: 105 40: 123 41: 126 42: 104 43: 118 44: 138 45: 136 46: 119 47: 114 48: 108 49: 125 2

2. Exemplificarea domeniului de vizibilitate a variabilelor Programul are declarate doua variabile cu acelasi nume. Prima, o variabila de instanta, are numele test si a fost initializata cu valoarea 10. A doua este un parametru cu acelasi nume al metodei printtest, insa cu valoarea 20. Parametrul test din cadrul metodei printtest ascunde variabila de instanta test. Metoda printtest apelata in metoda main afiseaza parametrul test cu valoarea 20 si nu variabila de instanta. class TestDomeniu int test = 10; void printtest(int test) System.out.println("test = " + test); public static void main (String args[]) TestDomeniu st = new TestDomeniu(); st.printtest(20); Se poate evita aceasta eroare folosind referinta this ca o referinta la obiectul curent. Astfel, this.test refera variabila de instanta si numele simplu test refera parametrul metodei printtest. Programul de mai sus se poate, astfel, modifica (TestDomeniuThis.java) pentru a afisa valoarea 10 a variabilei de instanta si nu valoarea parametrului. class TestDomeniuThis int test = 10; void printtest(int test) System.out.println("test = " + this.test); public static void main (String args[]) TestDomeniuThis st = new TestDomeniuThis(); st.printtest(20); 3. Definirea unei clase Complex si a unei metode simple de afisare a datelor membru: class Complex // date membru double x,y; // metoda void afis() System.out.println(x+" "+y); public class test1 public static void main(string args[]) 3

// declaram un numar complex Complex z1; // constructor implicit z1 = new Complex(); // Complex z1 = new Complex(); z1.x=3; z1.y=-10; // afisam datele membru z1.afis(); Avem, clasa Complex: - clasa contine doua date membru, x si y, ambele de tip double - clasa contine o metoda care are rolul de a afisa intr-un mod convenabil datele membru ale clasei. Clasa test1 metoda main(): - Complex z1 ; - variabila z1 este de un tip Complex. Prin, urmare, ea poate retine o referinta (adresa) catre un obiect de tip Complex. - z1=new Complex(); - se creeaza un obiect de tip Complex si referinta catre el este retinuta de z1; - z1.x=3; z1.y=-10; - datelor membru x si y ale obiectului a carui referinta este retinuta de z1 li se atribuie, valorile 3, respectiv -10. - z1.afis(); - se afiseaza numarul complex retinut de obiectul referit de z1; Probleme propuse spre rezolvare 1. Definiţi şi implementaţi clasa Triunghi, având ca date membre Latura1, Latura2 şi Latura3 şi ca funcţii membre: un constructor, Aria şi Perimetrul. Perimetrul unui triunghi este dat de relatia: Perimetrul = Latura1+Latura2+Latura3 Aria unui triunghi este data de relatia: Aria=sqrt(sp*(sp-Latura1)*(sp-Latura2)*(sp- Latura3)), unde am notat cu sp - semiperimetrul triunghiului. 2. Definiţi şi implementaţi clasa Cerc, având ca dată membru Raza, un constructor şi ca funcţii membre Aria şi Circumferinta. Aria unui cerc este data de relatia: Aria=PI*raza*raza Circumferinta unui cerc este data de relatia: Circumferinta=2*PI*raza 3. Definiţi şi implementaţi clasa Cilindru, având ca date membre Raza şi Inaltimea cilindrului şi ca funcţii membre: un constructor, Aria şi Volumul. Aria unui cilindru este data de relatia: Aria=2*PI*raza*inaltimea Volumul unui cilindru este data de relatia: Volumul=PI*raza*raza*inaltimea 4

4. Definiţi şi implementaţi clasa Sfera, având ca dată membru Raza şi ca funcţii membre: un constructor, Aria şi Volumul. Aria unei sfere este data de relatia: Aria=4*PI*raza*raza Volumul unei sfere este data de relatia: Volumul=4*PI*raza*raza*raza/3 5. Definiţi şi implementaţi clasa Patrat, având ca dată membru Latura şi ca funcţii membre: un constructor, Aria şi Perimetrul. Aria unui patrat este data de relatia: Aria=latura*latura Perimetrul unui patrat este data de relatia: Perimetrul=4*latura 5