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

Correction TP N°3 JAVA

Transféré par

Abdellaoui Chaima
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)
96 vues3 pages

Correction TP N°3 JAVA

Transféré par

Abdellaoui Chaima
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

IN

ISI
S T I TUT
SUPERIEUR Année Universitaire
INFORMATIQUE
‫الـمعهـد العـالـي لإلعـالمــيـة‬ 2022-2023

Matière : Programmation Orientée Objet Niveau : 2ème année SE


Correction TP N°3 JAVA

Exercice N°1 :
Classe Point:
package TP3;
import java.lang.Math;
public class Point {//contient les attributs,les constructeurs
//et les méthodes
// attributs membres
double x,y;
char nom;
//Si le attributs sont privés ont doit ajouter
// les accesseurs getters et setters
/*
private double x,y;
private char nom;
public char getNom() {//récupérer la valeur du nom
return nom;
}
public void setNom(char nom) {//affecter la valeur "nom"
à l'attribut nom
this.nom = nom;
}
public double getX() {
return x;
}
public void setX(double x) {
this.x = x;
}
public double getY() {
return y;
}
public void setY(double y) {
this.y = y;
}
*/
// méthodes membres

Point(char a,double b,double c){//constructeur paramétré qui serve à créer


//un point quelconque
nom = a; // ou bien this.nom =a;
// this est reference sur l'objet
// courant(objet appelé au moment de l'execution)
x=b; y=c;
1
}
//constructeur sans paramètres pour créer le point O(0,0)
Point(){
nom = 'O';
x=0;
y=0;
}
//autre ecriture pour le constructeur sans paramètres
/*Point(){
this('O',0,0);
}*/
//méthode affiche : affiche le point sous la forme A(-2,3)
void affiche(){
System.out.println(nom+"("+x+","+y+")");
}
//méthode translate : obtention d'un même
// point mais des coordonnées différentes
void translate(double d){
x+=d;
y+=d;
}
//méthode milieu: obtention d'un nouveau point M
Point milieu(Point p){//retourne le point milieu entre le point
//courant et le point p
return new Point('M',(x+p.x)/2,(y+p.y)/2);
}
/*ou bien
Point milieu(Point p){
Point M=new Point();
M.nom='M';
M.x=(x+p.x)/2;
M.y=(y+p.y)/2;
return M;
}
*/
//méthode symetrique: obtention d'un nouveau point S

Point symetrique(){//retourne le point symétrique d'un point


Point s = new Point();
s.nom='S';
s.x=-x;
s.y=-y;
return s;
}
//solution 2
/*Point symetrique(){
return new Point('S',-x,-y);
}
*/

//méthode distance
double distance(Point p){

2
return (Math.sqrt(Math.pow(x-p.x, 2)+Math.pow(y-p.y, 2)));
}
//méthode compare
boolean compare(Point p){
return ((x == p.x) && (y == p.y)); //retourne le résultat
//d'une éxpression logique (vrai ou faux)
}
}

Classe TestPoint:
package TP3;

public class TestPoint {


//cette classe contient l'instanstiation des objet Point
// et les appels des méthodes
public static void main(String[] args) {
Point o=new Point();//instanstiation de l'objet de type
//point O(0,0) en appelant le constructeur sans paramètres
Point p1=new Point('A',1,1);//instanstiation de l'objet
//de type point A(1,1) en appelant le constructeur avec
paramétres
Point p2=new Point('B',2,3);
p2.affiche();//affichage de p1
p1.affiche();
o.affiche();
p1.translate(2);
p1.affiche();//affichage de p1 après translation
/*p2.x=7;//affecter la valeur 7 àl'abscisse de p2
si x est private on écrit p2.setX(7);
p2.affiche();*/
p2.translate(2);//A(3,3)
p1.milieu(p2).affiche();
/*ou bien
Point M=p1.milieu(p2);
M.affiche();*/
p2.symetrique().affiche();//S(-3,-3)
System.out.println("la distance entre p1 et p2 est "
+p1.distance(p2));
//p1.distance(p2) retourne la distance entre p1 et p2
if(p1.compare(p2))//compare 2 points selon la valeur de x et y
System.out.println("2 points identiques");
else
System.out.println("2 points différents");

Vous aimerez peut-être aussi