0% ont trouvé ce document utile (0 vote)
5 vues5 pages

Programmation Java : Classes et Objets

Le document présente une implémentation en Java de classes représentant des concepts de base en programmation orientée objet, tels que Point, Rectangle, Moteur, Roue et Voiture. Chaque classe contient des attributs, des constructeurs et des méthodes pour manipuler les objets, illustrant des concepts comme l'initialisation, l'agrégation et la composition. Des méthodes spécifiques, comme celles pour calculer la surface d'un rectangle ou gérer l'état d'une voiture, sont également incluses.

Transféré par

Wafa Lotfy
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)
5 vues5 pages

Programmation Java : Classes et Objets

Le document présente une implémentation en Java de classes représentant des concepts de base en programmation orientée objet, tels que Point, Rectangle, Moteur, Roue et Voiture. Chaque classe contient des attributs, des constructeurs et des méthodes pour manipuler les objets, illustrant des concepts comme l'initialisation, l'agrégation et la composition. Des méthodes spécifiques, comme celles pour calculer la surface d'un rectangle ou gérer l'état d'une voiture, sont également incluses.

Transféré par

Wafa Lotfy
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

UNIVERSITE IBN ZOHR SMI5

Faculté des sciences – Département Informatique « M31 : Conception Orientée Objets »

TD/TP 2

public class Point {

private int x;
private int y;

public Point() {
this(0,0);
// appel du constructeur avec 1 paramètre
//this(0);
}

public Point(int a, int b) {x = a; y = b;}

public Point(int x) {
// méthode 1
this.x = x; this.y=0;
// méthode 2
//this(x,0);
}

/*public String toString(){


return "(" + x + "," + y + ")" ;
}*/

public void setX(int p) {


x = p;
}
public void setY(int p) {
y = p;
}
public int getX() {
return x;
}
public int getY() {
return y;
}
public boolean equals(Point a){

return (this.x==a.x && this.y==a.y);


}
public boolean equals(Object a){
return (this.x == ((Point)a).x && this.y == ((Point)a).y ) ;
}

};
class Rectangle { // Rectangle droit
private Point hg ; // Le coin haut à gauche
private Point bd ; // Le coin bas à droite

public Rectangle() {
// rectangle par défaut. Choisir son initialisation

}
public Rectangle(Point h, Point b) {
// initialisation des coins à partir des paramètres données
[Link]([Link]()); [Link]([Link]()); // Ponit hg
[Link]([Link]()); [Link]([Link]()); // Point bd
}
public void afficher() {
// Affiche les coordonnées des coins
[Link]("Coin haut à gauche: "+"("+[Link]()+","+[Link]()+")");
[Link]("Coin bas à droite: "+"("+[Link]()+","+[Link]()+")");
}
public int surface() {
// calcule de la surface
return (([Link]()-[Link]()) * ([Link]()-[Link]()));
}
public void zoom(int deltax, int deltay) {
// Dilatation des coordonnées. Delta donné.
[Link]([Link]()-deltax); [Link]([Link]()+deltax);
[Link]([Link]()+deltay); [Link]([Link]()-deltay);
}
// autres méthodes...
}

public class Moteur {

private String nom;


private int puissance;

private Voiture laVoiture; //Q.5) Navigation bidirectionnelle

public Moteur(){
this(80);
}
public Moteur(int p){
[Link] = p;
}
/*
* Q.5) Navigation bidirectionnelle
*/
/*public Moteur(Voiture laVoiture){
this(80);
[Link] = laVoiture;
}*/
2/5
/*
* Q.5) Navigation bidirectionnelle
*/
/*public Moteur(int p, Voiture laVoiture){
[Link] = p;
[Link] = laVoiture;
}*/

public int getPuissance(){


return [Link];
}
public void setPuissance(int p){
[Link] = p;
}
public String getNom(){
return [Link];
}
public void setNom(String nom){
[Link] = nom;
}
}
public class Roue {

private int largeur;


private int diametreJante;

public Roue(){
this(200,15);
}
public Roue(int largeur, int diametreJante){
[Link] = largeur;
[Link] = diametreJante;
}
public int getLargeur(){
return [Link];
}
public void setLargeur(int largeur){
[Link] = largeur;
}
public int getDiametreJante(){
return [Link];
}
public void setDiametreJante(int diametreJante){
[Link] = diametreJante;
}
}
public class Voiture {

private String modele;


private String marque;

3/5
private double vitesse;
private boolean estDemaree;
private Moteur leMoteur;
private Roue[] les4Roues;
private Roue roueDeSecours;

public Voiture() {
//var i = 1;
[Link] = false;
[Link] = 0;
/* Appel du constructeur Moteur puisqu'il s'agit d'une composition
* leMoteur est instancié au moment de l'instantiation de la Voiture
*/
[Link] = new Moteur();

/* Création du tableau de 4 Roues


* l'affectation des Roues se fera soit par les setters ou par constructeur avec
paramètres
* Agrégation ==> on n'instantie pas les Roues au moment où on instancie la
Voiture
*/
this.les4Roues = new Roue[4];

/* La roueDeSecours est optinnelle: soit elle initialisée par null


* Soit initialisée par un setter ou par un constructeur avec paramètres
*/
[Link] = null;
}

public Voiture(int p, Roue roueDeSecours, Roue[] les4Roues){


[Link] = false;
[Link] = 0;
[Link] = new Moteur(p);
[Link] = roueDeSecours;
les4Roues = new Roue[4];
for(int i=0; i<4; i++){
this.les4Roues[i] = les4Roues[i];
}
}

/*
* Q.5) Navigation bidirectionnelle
*/
/*public Voiture(){
[Link] = false;
[Link] = 0;
[Link] = new Moteur(this);
[Link] = null;
}*/

/*
4/5
* Q.5) Navigation bidirectionnelle
*/
/*public Voiture(int p, Roue roueDeSecours, Roue[] les4Roues){
[Link] = false;
[Link] = 0;
[Link] = new Moteur(p,this);
[Link] = roueDeSecours;
les4Roues = new Roue[4];
for(int i=0; i<4; i++){
this.les4Roues[i] = les4Roues[i];
}
}*/

public void setRoueDeSecours(Roue roueDeSecours){


[Link] = roueDeSecours;
}
public void setLes4Roues(Roue[] les4Roues){
for(int i=0; i<4; i++){
this.les4Roues[i] = les4Roues[i];
}
}
public void changerLeMoteur(Moteur leMoteur){
[Link] = leMoteur;
}
public int deQuellePuissance() {
return [Link]();
}
public void demare(){
estDemaree = true;
}
public void arrete(){
estDemaree = false;
}
public void accelere(double vitesse){
if (estDemaree) {
[Link] = [Link] + vitesse;
}
}
public String getModele(){
return [Link];
}
public void setModele(String modele){
[Link] = modele;
}
public String getMarque(){
return [Link];
}
public void setMarque(String marque){
[Link] = marque;
}
}
5/5

Vous aimerez peut-être aussi