JAVA : TP Orienté Objet (corrigé)
Monday, June 6, 2011     17:19
  • Mon @ IP: 54.196.26.1



retour

Poster un commentaire ou une réponse

TP Orienté Objet (corrigé)

  abdou1987 :
nb posts:722
nb discussions:131
inscrit le :02-12-2014
le 29-01-2015 à 13:33:23

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.

  abdou1987 :
nb posts:722
nb discussions:131
inscrit le :02-12-2014
le 29-01-2015 à 13:34:01

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;

}
}

  abdou1987 :
nb posts:722
nb discussions:131
inscrit le :02-12-2014
le 29-01-2015 à 13:35:24

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;
}
}

  abdou1987 :
nb posts:722
nb discussions:131
inscrit le :02-12-2014
le 29-01-2015 à 13:35:40

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é

  abdou1987 :
nb posts:722
nb discussions:131
inscrit le :02-12-2014
le 29-01-2015 à 13:35:58

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;

}



}

  abdou1987 :
nb posts:722
nb discussions:131
inscrit le :02-12-2014
le 29-01-2015 à 13:36:29

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);

}

}

  abdou1987 :
nb posts:722
nb discussions:131
inscrit le :02-12-2014
le 29-01-2015 à 13:37:17

TP-Oriente-objet--avec-correction-.rar

Poster un commentaire ou une réponse :
Poster
     Ajouter un document à la discussion:
       

Actualité informatique et High-Tech

16-10-2015               lire

Dropbox propose aussi un outil d'écriture collaborative à son service

16-10-2015               lire

Bientôt des DRM dans des JPEG

17-04-2015               lire

Google propose une requête pour retrouver son téléphone

17-04-2015               lire

Youtube prépare une offre payante sans publicité

17-04-2015               lire

Sony Pictures : Des milliers de mails et documents confidentiels dévoilés

07-04-2015               lire

T411 bloqué par les FAI français

07-04-2015               lire

NVIDIA publie un pilote correctif et met à jour SHIELD Hub ainsi que GeForce Experience

07-04-2015               lire

Linkedin acquiert la start-up Refresh

03-04-2015               lire

Chromebit, la clé USB Google et Asus qui transforme n’importe quel écran en ordinateur

03-04-2015               lire

Une personne aurait pu supprimer toutes les vidéos d’une chaine Youtube en quelques secondes

03-04-2015               lire

Firefox 37 apporte un cryptage complémentaire à HTTPS

03-04-2015               lire

Windows XP, ce système qui ne veut pas mourir

02-04-2015               lire

Piratage de Labio.fr : le laboratoire répond à nos questions et ne payera pas la rançon

02-04-2015               lire

AWS lance des instances géantes avec 48 To de stockage

02-04-2015               lire

WhatsApp ajoute les appels gratuits et illimités à son application

31-03-2015               lire

Nadim Kobeissi : de Cryptocat à Peerio, du piratage au doctorat

31-03-2015               lire

L'Université de Nantes inaugure son datacenter modulaire taillé pour le HPC

31-03-2015               lire

GitHub victime d’une attaque DDoS majeure

27-03-2015               lire

Googlinette : les recherches de Google en devinettes

27-03-2015               lire

F8 : Facebook ouvre Messenger au e-commerce

27-03-2015               lire

À la SNCF, une fuite de données simple comme une touche F5

23-03-2015               lire

Des satellites GPS de Boeing affectés par une erreur technique

23-03-2015               lire

Plus de 700 000 routeurs ADSL vulnérables au piratage

23-03-2015               lire

Twitter sous le coup d’une action collective pour discrimination

22-03-2015               lire

Les montres connectées étaient déjà présentes dans les films, séries et dessins animés

22-03-2015               lire

Une Audi autonome va traverser les USA de SF à New York

20-03-2015               lire

Éclipse du Soleil : comment la suivre en direct sur Internet

20-03-2015               lire

Projet Leap : des bus 2.0 à San Francisco

20-03-2015               lire

Nvidia dévoile Drive PX, un système de conduite autonome

17-03-2015               lire

Embarquez pour Apollo 11, expérience virtuelle hors du commun

16-03-2015               lire

Ce jour où Google a exposé les données de 282 867 domaines

16-03-2015               lire

Yahoo publie le code de son plug-in de chiffrement mail

16-03-2015               lire

Après un an sans mise à jour, HAWKEN revient à la vie

12-03-2015               lire

Le big data au service du séquençage ADN pour accélérer les diagnostics

12-03-2015               lire

Clap de fin pour PlayStation Mobile

12-03-2015               lire

Apple : retour à la normale après une panne de plus de 11 heures

12-03-2015               lire

Ericsson va supprimer 2 200 postes en Suède

12-03-2015               lire

Le plan de Fleur Pellerin contre le piratage sur Internet

10-03-2015               lire

Apple Watch, Watch Edition et Watch Sport : de 399 à 18.000 euros !

10-03-2015               lire

Apple présente le “nouveau MacBook” qui remplace le MacBook Air

09-03-2015               lire

Google développe une version d'Android pour la réalité virtuelle

09-03-2015               lire

Quand la MPAA demande à Google de déréférencer son propre site

09-03-2015               lire

Heroes of the Dorm : un tournoi HotS avec 450 000 $ de bourses d'études à gagner

09-03-2015               lire

1 milliard d'adresses mails volées, 2 pirates inculpés

09-03-2015               lire

VMware accusé de violation de code Linux

09-03-2015               lire

Les drones civils bientôt immatriculés ?

05-03-2015               lire

7 sites qui permettent d’envoyer des fichiers de + ou – 2 Go

04-03-2015               lire

Smartphones : Apple passe en tête devant Samsung56% des consommateurs inquiets pour leurs données en Europe

04-03-2015               lire

Smartphones : Apple passe en tête devant Samsung

04-03-2015               lire

MWC 2015 : Onevisage pésente un scan facial 3D pour smartphones

04-03-2015               lire

Caméras sportives : Xiaomi s'attaque au monopole GoPro

04-03-2015               lire

Yi Camera, la caméra embarquée de Xiaomi à moins de 60€

04-03-2015               lire

Faille FREAK : quand des connexions SSL/TLS se contentent d'un chiffrement RSA sur... 512 bits

04-03-2015               lire

Bientôt des pubs sur Google Play (Android)

28-02-2015               lire

En partenariat avec "Positive Technologies", Esprit a l'honneur d'inviter ses étudiants à la 1ère édition de l’événement ESPRIT HACK DAYS dans les locaux d'ESPRIT Chotrana 2 et ce le 03 et le 04 Mars 2015.

28-02-2015               lire

La direction des stages d’ESPRIT et Ernst & Young ont le plaisir d'inviter ses étudiants à la journée de l’entreprise du mercredi 4 mars 2015 dans la salle E5 d’ESPRIT Factory.

25-02-2015               lire

Adobe fête les 25 ans de son logiciel Photoshop

25-02-2015               lire

Linux 4.0 : gros numéro et petite version

Haut de page.