Poster un commentaire ou une réponse
TP Orienté Objet (corrigé)

nb posts:722
nb discussions:131
inscrit le :02-12-2014
Objectifs :
Notion de classe et d’objet
Déclaration de classe
Déclarations des attributs et des méthodes
Les types des variables (primitives et objets)
Notion de référence
Les constructeurs
On se propose de développer un programme, en utilisant le langage JAVA, pour gérer les bureaux d’un laboratoire de Recherche. Pour cela nous avons besoin d’un ensemble de classes :
Une adresse est composée par gouvernorat, ville et code postal
Un chercheur est caractérisé par son nom, son poste et le numéro de son ordinateur.
Un laboratoire est caractérisé par son nom, sa spécialité. Il possède un nombre de bureaux
Un laboratoire dispose d’une adresse et de 50 bureaux maximum
Un bureau est identifié par son code, son nom et il contient un ensemble de chercheurs,
Chaque bureau peut contenir jusqu’à 5 chercheurs.
Travail à faire : (voir support du cours)
1- Installer l’environnement de développement Netbeans et importer le projet.
2- Créer une adresse dans la classe Test en utilisant le constructeur C1 (voir les commentaires).
3- Affecter des valeurs à l’objet adresse créée.
4- Afficher l’objet adresse crée.
5- Modifier le code postal de cette adresse.
6- Afficher l’objet adresse modifié.
7- Créer une adresse dans la classe Test en utilisant le constructeur C2 (voir les commentaires).
8- Modifier la ville de cette adresse.
9- Afficher l’objet adresse modifié.
10- Ecrivez la classe Chercheur en ajoutant ses attributs.
11- Créer un Chercheur dans la classe Test en utilisant le même type de constructeur dans la classe Adresse C1.
12- Affecter des valeurs à ce chercheur.
13- Afficher toutes les informations relatives à ce chercheur.
14- Déclarer dans la classe Chercheur un deuxième constructeur paramétré.
15- Afficher toutes les informations relatives à ce chercheur.
NB : Vous pouvez utiliser la méthode toString() .
16- Afficher le nombre de chercheurs créés.
17- Ajouter dans la classe Chercheur la méthode comparer() qui permet de tester l’égalité entre deux chercheurs : public void comparer (Chercheur ch){…}
18- Modifier le numéro de l’ordinateur de l’objet chercheur1
19- Créer un objet chercheur3 sans paramètres
20- Ajouter un nom, un poste et un numéro de l’ordinateur à l’objet chercheur3
21- Créer deux Bureaux bureau1 et bureau2, chaque bureau contient 3 chercheurs
22- Créer un Laboratoire laboratoire1 qui contient deux bureaux.
23- Afficher les caractéristiques de l’objet laboratoire1.

nb posts:722
nb discussions:131
inscrit le :02-12-2014
public class Chercheur {
static int nbc=0;
public String nom;
public String poste;
public int nmac;
public Chercheur() {
nbc++;
}
// @override redefinie une methode ca se place juste avan la methode
public String toString()
{
return "Nom: "+nom+" Poste: "+poste+" Nmac: "+ nmac;
}
public Chercheur(String nom, String poste,int nmac) {
this.nom = nom;
this.poste = poste;
this.nmac = nmac;
nbc++;
}
public void afficher()
{
System.out.println("Nom: "+nom+" Poste: "+poste+" Nmac: "+ nmac);
}
public Boolean comparer(Chercheur C)
{
if(this.nmac==C.nmac)
{
if(this.nom==C.nom)
{
if(this.poste==C.poste)
{
return true;
}
}
}
return false;
}
public void modifier(int c) {
nmac=c;
}
public void ajouter(String nom, String poste,int nmac) {
this.nom = nom;
this.poste = poste;
this.nmac = nmac;
}
}

nb posts:722
nb discussions:131
inscrit le :02-12-2014
public class Bureau {
public int code;
public String nom;
public Chercheur C[];
public Bureau() {
}
public Bureau(int code, String nom, Chercheur C[]) {
this.code = code;
this.nom = nom;
this.C = new Chercheur[5];
this.C=C;
}
public void afficher()
{
System.out.println("code: "+code+" Nom: "+nom);
int i;
int n=this.C.length;
for (i=0;i<n;i++)
{
this.C[i].afficher();
//OOOOOOUUUUUUUUUUUU
//System.out.println(this.C[i].toString());
}
}
public String toString()
{
String result="code: "+code+" Nom: "+nom;
int i;
int n=this.C.length;
for (i=0;i<n;i++)
{
result+=this.C[i].toString();
}
return result;
}
}

nb posts:722
nb discussions:131
inscrit le :02-12-2014
public class Adresse {
public int codePostal;
public String gouvernorat;
public String ville;
public Adresse() {
}
public Adresse(int codePostal, String gouvernorat, String ville) {
this.codePostal = codePostal;
this.gouvernorat = gouvernorat;
this.ville = ville;
}
public void afficher()
{
System.out.println("Code postal: "+codePostal+" gouvernorat: "+gouvernorat+" Ville: "+ ville);
}
public void modifier(int c) {
codePostal=c;
}
public String toString()
{
return "Code postal: "+codePostal+" gouvernorat: "+gouvernorat+" Ville: "+ ville;
}
}
Publicité

nb posts:722
nb discussions:131
inscrit le :02-12-2014
public class Laboratoire {
public String nom;
public String specialite;
public Adresse A;
public Bureau B[];
public Laboratoire() {
}
public Laboratoire(String nom, String specialite, Adresse A,Bureau B[]) {
this.specialite = specialite;
this.nom = nom;
this.A =A;
this.B=new Bureau[50];
this.B=B;
}
public void afficher()
{
System.out.println(" Nom: "+nom+" specialite" +specialite);
this.A.afficher();
int i;
int n=this.B.length;
for (i=0;i<n;i++)
{
this.B[i].afficher();
}
}
public String toString()
{
String result="*** "+nom+" ******";
result+=specialite;
result +="adresse: "+A;
int i;
int n=this.B.length;
/*
for (i=0;i<n;i++)
{
result+=this.B[i];
}
*/
for(Bureau BB:B)
{
if(BB!=null)
result+=BB;
}
return result;
}
}

nb posts:722
nb discussions:131
inscrit le :02-12-2014
public class Test {
public static void main(String[] args) {
// Travail à faire : (voir support du cours)
//1-Installer l’environnement de développement Netbeans et importer le projet.
//2-Créer une adresse dans la classe Test en utilisant le 1er constructeur (voir les commentaires).
Adresse adr;
adr=new Adresse();
//3-Affecter des valeurs à l’objet adresse créée.
adr.codePostal=2000;
adr.gouvernorat="Tunis";
adr.ville="Tunis";
//4-Afficher l’objet adresse crée.
adr.afficher();
//5-Modifier le code postal de cette adresse.
adr.modifier(1987);
//6-Afficher l’objet adresse modifié.
adr.afficher();
//7-Créer une adresse dans la classe Test en utilisant le 2ème constructeur (voir les commentaires).
Adresse adr2=new Adresse(1500,"ariana","ariana");
adr2.afficher();
//8-Modifier la ville de cette adresse.
adr2.modifier(10100);
//9-Afficher l’objet adresse modifié.
adr2.afficher();
//10-Ecrivez la classe Chercheur en ajoutant ses attributs.
//11-Créer un Chercheur dans la classe Test en utilisant le même type de constructeur dans la classe Adresse C1.
Chercheur C;
//12-Affecter des valeurs à ce chercheur.
C=new Chercheur("Abdou","Developpeur",121651);
//13-Afficher toutes les informations relatives à ce chercheur.
C.afficher();
Chercheur C2=new Chercheur("GGG2","FREG",15);
//14-Déclarer dans la classe Chercheur un deuxième constructeur paramétré.
//15-Afficher toutes les informations relatives à ce chercheur.
//NB : Vous pouvez utiliser la méthode toString() .
System.out.println("TOOOOOOOOOSTRIIIIIIIIIIIIIIIIIIIIIING");
System.out.println(C);
// to string sert a transformer objet en string selon le return situé dans metod toString exp:
// String x=C.toString();
//16-Afficher le nombre de chercheurs créés.
System.out.println("Nombre de chercheurs ; "+C.nbc);
//17- Ajouter dans la classe Chercheur la méthode comparer() qui permet de tester l’égalité entre deux chercheurs : public void comparer (Chercheur ch){…}
Boolean tes= C.comparer(C2);
if (tes==true)
System.out.println("les deux chercheurs sont identiques");
else
System.out.println("les deux chercheurs sont DIFFERENT");
//18-
C2.modifier(54651654);
//19-Modifier le numéro de l’ordinateur de l’objet chercheur1
C.modifier(777777);
//20-Créer un objet chercheur3 sans paramètres
Chercheur C3= new Chercheur();
//21-Ajouter un nom, un poste et un numéro de l’ordinateur à l’objet chercheur3
C3.ajouter("vbfeqbg", "frezqf", 55555);
C3.afficher();
System.out.println("Nombre de chercheurs ; "+C.nbc);
//22-Créer deux Bureaux bureau1 et bureau2, chaque bureau contient 3 chercheurs
Chercheur CT[]={C,C2,C3};
Bureau B1=new Bureau(111,"bur1",CT);
//OU B1.C[0]=C;
Bureau B2=new Bureau(111,"bur1",CT);
//23-Créer un Laboratoire laboratoire1 qui contient deux bureaux.
Bureau BT[]={B1,B2};
Laboratoire L=new Laboratoire("lab1","spce1",adr,BT);
//24-Afficher les caractéristiques de l’objet laboratoire1.
System.out.println("------------------------------------------------");
L.afficher();
// Ou
System.out.println(L);
}
}

nb posts:722
nb discussions:131
inscrit le :02-12-2014
Poster |