Vous êtes sur la page 1sur 2

Fiche 1 TP POO

Exercice1.
1/ Écrire le code java qui définit une classe Etudiant. On suppose qu'un étudiant est décrit par son matricule (int), son
nom (String) et sa spécialité (String). La classe doit avoir:
• un constructeur avec deux paramètres m et n pour initialiser le matricule et le nom.
• un constructeur de trois paramètres m , n et s pour initialiser les trois attributs.

2/ Écrire le code suivant et expliquer le résultat obtenu par son exécution (et la cause de l’erreur le cas échéant)

public class TestEtudiant {

public static void main(String[] arg) {


Etudiant etud1 = new Etudiant("Ahmed"); (1)
Etudiant etud1 = new Etudiant(); (2)
Etudiant etud1 = new Etudiant(0299,"Ahmed"); (3)
etud1.specialité="Informatique";
Etudiant etud2 = new Etudiant(0288,"Ali","Math"); (4)
etud2.specialité=etud1.specialité;
System.out.println(etud1.nom+" "+etud1.specialité); (5)
System.out.println(etud2.nom+" "+etud2.specialité); (6)
etud1=etud2;
etud2.nom="Amel";
System.out.println(etud1.nom+" "+etud1.spécialité); (7)
}}

Exercice 2. En mettant en œuvre le principe de l'encapsulation, écrire le code java de la classe Point. Un point est
décrit par ses coordonnées x et y (de type float). La classe ne définit aucun constructeur.

Écrire le code java de la classe TestPoint qui contient la méthodes main où:

• Un objet p1 de type Point doit être crée ensuite initialisé aux coordonnées (5,3).
• Une instruction qui ajoute 2 à l'abscisse (x) et 4 à l'ordonnée (y) de p1;
• Une instruction qui affiche les nouvelles coordonnées de P1.

Exercice 3

1. Réécrire le code de la classe Point de l`exercice 2 en ajoutant un constructeur à deux paramètres pour
initialiser les coordonnées du point.

2. En utilisant la classe Point de la question 1, définir une classe Rectangle qui décrit un rectangle par son
point inferieur gauche et son point supérieur droit. La classe possède deux constructeurs: le premier prend en
paramètres les coordonnées des deux points définissant le rectangle et le deuxième prend en paramètres deux points
pour initialiser les attributs du rectangle.
3. Écrire deux méthodes pour calculer, respectivement, la longueur et la largeur du rectangle.
4. Écrire une méthode surface qui calcule la surface du rectangle

5. Ajouter à la classe Rectangle un attribut nbr qui comptabilise le nombre d'objets crées à partir de cette
classe.
Exercice 4. Soit la classe Dessin; un dessin est composé de plusieurs rectangles. La liste des rectangles du dessin est
contenue dans un tableau définit dans la classe Dessin. La taille de ce tableau est fixée par le constructeur de la classe
(en paramètre). Une méthodes ajouter(Rectangle r) de la classe dessin permet d'ajouter le rectangle r passé en
paramètre à la liste des rectangles. et la méthode somme() permet de calculer la somme des surfaces des rectangles du
dessin. Écrire le code java correspondant à cette description.

Exercice 5. Saisir le code java suivant et expliquer le résultat obtenu par son exécution
public class Test{
public static void main(String[] args){
int x=10;
int y=20;
String s1="A";
String s2="B";
Point p1=new Point(1,2);
Point p2=new Point(3,4);
System.out.println("Avant change"+ x,y,s1,s2,p1.getx(),p1.gety(),p2.getx(),p2.gety());
change(x,y,s1,s2,p1,p2);
System.out.println(("Apres change"+ x,y,s1,s2,p1.getx(),p1.gety(),p2.getx(),p2.gety());
}
public static void change(int a, int b, String n, String m, Point p, Point q){
System.out.println("debut change"+ a,b,n,m,p.getx(),p.gety(),q.getx(),q.gety());
a=30;
b=40;
n="C";
m="D";
p.setx(10);
q=new Point(5,6);
System.out.println("Fin change"+ a,b,n,m,p.getx(),p.gety(),q.getx(),q.gety());
}
}

Vous aimerez peut-être aussi