Vous êtes sur la page 1sur 3

Université de Jijel

Faculté des sciences exactes et Informatique


Département d’informatique
2 LMD Informatique
Module : S-3 : programmation orientée objet
Responsable de module : Rouibah Said Série : http://cyberquebec.ca/rouibahsaid/Docs/serie01.pdf
Solution : http://cyberquebec.ca/rouibahsaid/Docs/solution01.pdf

Série TD - N°01
Exercice 01
On considère des rectangles dans le plan, pour simplifier on suppose que les côtés des rectangles sont parallèles
aux axes. Un rectangle est donc complètement déterminé par l’abscisse et l’ordonnée du point en bas et à
gauche et par ses dimensions horizontale (l’axe des abscisses) ,et verticale(l’axe des ordonnées).
Voici le texte qui represente une classe écrite en Java .
Question :

/********fichier Rectangle.java******/ 1. Quel est le nom de la classe


2. Quels sont les attributs de cette classe
class Rectangle {
3. Quels sont les fonctions de cette classe
double x;
4. Ecrire le code qui crée un objets rectangle avec :
double y;
double longueurX; x =2 , y = 5 , longueurX= 3 longueurY = 7
double longueurY;
5. Représenter l’objets crée en 4.
void Deplacer _vers (double a, double b ) { 6. Donner les résultats du code suivant :

x=a; a) Rectangle r ;
y =b; b) r = new Rectangle () ;
}
c) r. longueurX =4 ;
double get_Surface ( ) { d) r. longueurY =3 ;
return longueurX * longueurY;
} e) System.out.println ("surface : " + r.get_Surface ( ) ) ;
f) r. x =4 ;
double get_Perimetre ( ) {
return 2* (longueurX + longueurY) ; g) r. y =3 ;
} h) r. Afficher_position ( ) ;

void Afficher_position ( ) { i) r. Deplacer _vers (1 , 2) ;


System.out.println (¨ le point bas et à gauche de rectangle j) r. Afficher_position ( ) ;
est dans la position (" +x + ", " + y + ") " );
} 7. Ecrire le code correspondant aux opérations
suivantes :
}// Fin
a) Deplace le rectange vers le haut de 2 unités.
b) Afficher le périmètre de rectangle

1
Exercice 02
On va considérer la classe Time comme étant une classe composée des attributs suivants : Pays, Seconde,
Minute et Heure.
1. Créer un objet instant qui contient une date particulière.
2. Ecrivez une fonction affiche_heure() qui permet de visualiser le contenu d'un objet de classe Time sous la
forme conventionnelle "heure : minute : seconde"
3. Appliquer à l'objet instant la fonction affiche_heure().

Exercice 03

1- Ecrire une classe Point avec les attributs suivants: x : L'abscisse du point et y : L'ordonnée du point.
2- Ecrire une méthode Deplacer_Point qui permet de deplacer un point donné vers une nouvelle position.

On considère maintenant des rectangles dans le plan. Dans un premier temps, on suppose pour simplifier que
les côtés des rectangles sont parallèles aux axes. Un rectangle est donc complètement déterminé par le point en
bas et à gauche et par ses dimensions horizontale (l’axe des abscisses) , et verticale(l’axe des ordonnées).
3- Définir une classe Rectangle permettant de manipuler de tels objets (utiliser la classe Point).
4- Définir deux constructeurs prenant respectivement en paramètre 1 points et 2 longueurs Et 2 points
(point en bas et à gauche et point en haut et à droite).
5- Écrire une méthode get_Surface qui calcule la surface du rectangle.
6- Écrire une méthode Deplacer qui déplace un rectangle vers une nouvelle position en déplaçant le point en
bas et à gauche.
7- Écrire une méthode Contains qui teste si un point donné (en paramètre) est à l'intérieur du rectangle.
8- Définir une classe Dessin. Chaque objet de cette classe contient un tableau de rectangles dont la taille est
fixée à la construction de l'objet. Au départ, un dessin ne contient aucun rectangle.
9- Écrire une méthode Add qui permet d'ajouter un rectangle à un dessin.
10- Écrire une méthodes Surface pour la classe Dessin. La surface d'un dessin est la somme des surfaces de
ses rectangles même si ceux-ci se superposent.
11- Écrire une méthodes Translate pour la classe Dessin. Translater un dessin consiste à déplacer chacun de
ses rectangles.

2
Exercice 4
On va considérer la classe Horloge comme étant une classe composée des attributs suivants :
Les attributs privés : Seconde, Minute et Heure de type entier.
Et les méthodes suivantes :
– 3 Constructeurs : un constructeur sans paramètre qui permet d’initialiser une horloge, un
constructeur avec 3 paramètres et un constructeur par recopie qui permet de copier une horloge
dans une autre horloge.
– Heurevalide qui permet de tester si une heure est valide.
– Increment qui permet d’incrémenter l’horloge.
– Nombresecondes qui permet de convertir l’heure en secondes.
– Format qui permet d’afficher l’horloge.
– getSec, getHeur et getMin qui permettent d’accéder aux attributs privés de la classe.
– setSec, setHeur et setMin qui permettent de modifier les attributs privés de la classe

1. Ecrire en Java la classe Horloge.


2. Ecrire une classe Test_Horloge qui permet de déclarer des objets de type Horloge et les manipuler à
travers l’accès aux attributs et méthodes. Tester la possibilité d’accéder aux attributs privés directement
et avec les méthodes accesseurs.

Vous aimerez peut-être aussi