0% ont trouvé ce document utile (0 vote)
471 vues3 pages

TD TP3

Ce document présente plusieurs exercices sur la programmation orientée objet en Java. Il introduit des concepts comme les classes Point, Vecteur3D, Personne, Complexe et Client/Compte pour représenter des entités avec leurs attributs et méthodes. Le document détaille les différents membres à implémenter pour chaque classe.

Transféré par

reda ouadi
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
471 vues3 pages

TD TP3

Ce document présente plusieurs exercices sur la programmation orientée objet en Java. Il introduit des concepts comme les classes Point, Vecteur3D, Personne, Complexe et Client/Compte pour représenter des entités avec leurs attributs et méthodes. Le document détaille les différents membres à implémenter pour chaque classe.

Transféré par

reda ouadi
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Programmation orientée objet en Java

Filière: SMI-S5 A.U:2021/2022

Concepts de base de la POO: TD/TP

Exercice 1
Réalisez une classe Point permettant de représenter un point sur un axe. Chaque point sera caractérisé
par un nom (de type char) et une abscisse (de type double). On prévoira:
— Un constructeur recevant en arguments le nom et l’abscisse d’un point.
— Une méthode afficher imprimant le nom du point et son abscisse.
— Une méthode deplacer effectuant une translation définie par la valeur de son argument.
Écrivez un petit programme utilisant cette classe pour crée un point, en afficher les caractéristiques, le
déplacer et en afficher à nouveau les caractéristiques.

Exercice 2
L’objectif est de définir une représentation d’un objet Personne.
1. Sachant qu’une personne est définie à partir de son nom, son prénom et son âge, définissez les
données de la classe Personne.
2. Écrivez une application MesAmis qui utilise un objet p de type Personne et qui demande la saisie
au clavier de ses nom, prénom et âge.

Exercice 3
Réalisez une classe Vecteur3d permettant de manipuler des vecteurs à trois composantes et disposant:
— d’un constructeur à trois arguments,
— d’une méthode d’affichage des coordonnées du vecteur,
— d’une méthode fournissant la norme d’un vecteur,
— d’une méthode statique fournissant la somme de deux vecteurs,
Écrivez un petit programme utilisant cette classe.

Exercice 4
Soit la classe Point définie:
class Point{
. double x, y ; // abscisse et ordonnée
. public Point (double x, double y){ this.x = x ; this.y = y ; }
. public void afficher() { System.out.println ("Coordonnées" + x + " " + y);}
. }
Complétez cette classe, de façon qu’elle implémente une méthode statique de type Point maxNorme
déterminant parmi deux points lequel est le plus éloigné de l’origine et le fournissant en valeur de retour.
Écrivez un petit programme utilisant cette classe.

1/3
2

Exercice 5
1. Créez une classe Point caractérisée par les membres suivants:
p Deux attributs privés x et y de type réel. On veut numéroter les points au fur et à mesure de
leur création. On ajoute donc les attributs suivants : static int cpt=0 ; int numero ;
où l’attribut numero indique le numéro de point et où l’attribut de classe cpt indique combien
d’objets ont été créés.
p Un constructeur vide initialisant les attributs par une valeur aléatoire comprise entre 0 et 10.
p Un constructeur initialisant les attributs et comptant le nombre d’objets créés.
p Un constructeur de recopie Point(Point p) appelant le constructeur de deux paramètres afin
d’initialiser le point courant à ceux de p.
p Une méthode statique distance(Point p1, Point p2) retournant la distance entre p1 et p2.
p Une méthode distance(Point p) retournant la distance entre le point courant et le point p.
p Une méthode symétrique() retournant un point symétrique à l’instance courante.
p Une méthode statique String nbr_Points() permettant d’afficher le nombre des points crées.
p Un modificateur et un accesseur pour chaque attribut privé.
2. Créez une classe Triangle qui utilise la classe Point et disposant des membres suivants:
p Trois attributs A,B et C de type Point définissant les sommets du triangle.
p Un constructeur ayant trois paramètre de type Point.
p Un constructeur de recopie Triangle(Triangle t) initialisant le triangle courant à ceux de t.
p Une méthode calculerPerimetre() retournant la somme des côtés du triangle.
p Une méthode setA(double x, double y) qui remplace les coordonnées de A par x et y.
p Une méthode deplacerA(double dx ,double dy ) qui deplace les coordonnées de A par dx et dy .
p Une méthode getSommets() retournant un tableau consitutant les sommets du triangle.
p Une méthode getAbscissesSommets() retournant un tableau des valeurs des abscisses des som-
mets du triangle.
3. Créez une classe TestTriangle permettant de tester les classes avec des actions de votre choix.

Exercice 6
Un nombre complexe est caractérisé par sa partie réelle et sa partie imaginaire. L’opération produit
est définie comme suit: Si c1 = x1 + iy1 et c2 = x2 + iy2 alors c1 ∗ c2 = (x1 x2 − y1 y2 ) + i(x1 y2 + x2 y1 ).
1. Réalisez la classe Complexe qui est caractérisée par :
p Deux attributs réels re et im qui caractérisent les parties réelle et imaginaire.
p Un constructeur initialisant le nombre complexe.
p Un constructeur vide appelant le constructeur de la question précédente et initialisant les
parties réelle et imaginaire à 0.0.
p Une méthode egalite(Complexe c) permettant de tester l’égalité du nombre complexe courant
avec le nombre complexe c passé en paramètre.
p Une méthode statique multiplier(Complexe c1, Complexe c2) retournant le produit c1 ∗ c2.
p Une méthode multiplier(Complexe c) retournant le produit entre le nombre complexe courant
et c.
p Une méthode statique permuter(Complexe c1,Complexe c2) permettant de permuter c1 et c2.

2/3
3

p Une méthode void afficher() affichant le nombre complexe au format: re + i ∗ im


2. Réalisez une classe IntervalleReel pour créer et représenter les intervalles réels. Elle est caracté-
risée par:
p Deux attributs réels ext1 et ext2 qui définissent les extrémités d’un intervalle réel avec la
condition ext1 ≤ ext2 .
p Un constructeur initialisant les attributs de la classe.
p Une méthode appartient(float x) qui permet de vérifier si le nombre x appartient à l’intervalle
courant.
3. Créez une classe TestComplexe permettant de tester les classes avec des actions de votre choix.

Exercice 7
1. Créez une classe Client caractérisée par les membres suivants :
p Deux attributs privés nom et cin de type String qui caractérisent le nom et le CIN d’un client.
p Un constructeur permettant d’initialiser tous les attributs.
p Une méthode afficher() permettant d’afficher les informations du client en cours.
p Un accesseur et un modificateur pour chaque attribut privé.
2. Créez une classe Compte qui utilise la classe Client et disposant des membres suivants:
p Un attribut solde de type double indiquant la somme d’argent disponible sur le compte. Ce
solde est exprimé en DHs et peut être positif (compte créditeur) ou négatif (compte débiteur).
p Un attribut proprietaire de type Client qui représente un client.
p Un constructeur initialisant les attributs et comptant le nombre d’objets créés.
p Un constructeur de recopie.
3. Ajoutez à la classe Compte:
p Une méthode statique String nbr_Comptes() permettant d’afficher le nombre des comptes
crées.
p Une méthode void afficher() permettant d’afficher le résumé d’un compte comme suit:
— Propriétaire du compte numéro: ...
— Nom: ...
— CIN: ...
— Solde de compte: ...
p Une méthode deposer(double montant) permettant d’ajouter un montant au solde du compte.
p Une méthode retirer(double montant) permettant de retirer un montant au solde du compte.
p Une méthode transfererVers(double montant, Compte c) qui transfere un montant de compte
courant vers le compte passé en paramètres(l’argent est retiré d’un compte et déposé sur
l’autre).
p Une méthode differenceSoldes(Compte c) retournant la valeur absolue de la différence entre
le solde de compte courant et le solde de compte passé en paramètre.
p Une méthode statique permuterComptes(Compte c1,Compte c2) permettant de permuter c1
et c2.
4. Créez une classe TestCompte permettant de tester les classes avec des actions de votre choix.

3/3

Vous aimerez peut-être aussi