logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
utilisateurs:hypathie:tutos:java-oriente_objet [29/03/2015 09:12]
Hypathie créée
utilisateurs:hypathie:tutos:java-oriente_objet [29/03/2015 12:45] (Version actuelle)
Hypathie [La classe Adresse]
Ligne 498: Ligne 498:
  
 <code java> <code java>
 +
  
 public abstract class Individu ​ public abstract class Individu ​
Ligne 504: Ligne 505:
  private ​ String m_strPrenom;​  private ​ String m_strPrenom;​
  private ​ Adresse m_adresse = new Adresse();  private ​ Adresse m_adresse = new Adresse();
 +
 +
 + //​-------------------------------------- CONSTRUCTEUR PAR DEFAUT -----------------------------------------
 +
 +
 + public Individu ()
 + {
 + this("​mon nom est personne",​ "mon prénom est personne,",​ new Adresse());
 + }
   
   
Ligne 532: Ligne 542:
   
   
- //​-------------------------------------- ​CONSTRUCTEUR PAR DEFAUT ​----------------------------------------- + //​------------------------------------------------------------
-  +
-  +
- public Individu () +
- {  +
- this("​mon nom est personne",​ "mon prénom est personne,",​ new Adresse());​ +
- }  +
-  +
- //​----------------------------------- ​ ENCAPSULATION DES PROPRIETES DE L'​OBJET --------------------------- +
- +
  /​** Affecte (si possible) la chaîne donnée à la propriété m_strNom.  /​** Affecte (si possible) la chaîne donnée à la propriété m_strNom.
  
Ligne 654: Ligne 655:
  
  */  */
 +
  public void afficher()  public void afficher()
  {  {
  System.out.println(this.getPrenom() + " " + this.getNom());​  System.out.println(this.getPrenom() + " " + this.getNom());​
- System.out.println(this.getAdresse());​ + //System.out.println(this.getAdresse());​ 
 + m_adresse.affiche();​
  }  }
 +
 } }
  
Ligne 665: Ligne 669:
 ===== La classe Adresse ===== ===== La classe Adresse =====
  
 +<code java>
  
 +public class Adresse ​
 +{
 + private int m_numRue;
 + private String m_strNomRue;​
 + private int m_nCodePost;​
 + private String m_strVille;
 +
 + //​-----------------------------------------------------------
 + public static final String SEP_ADR = ",";​ //​ Séparateur des différents champs d'une adresse de type String
 + //​-----------------------------------------------------------
 +
 +
 + //​------------------------------- CONSTRUCTEUR ​  ​---------------------------------
 +
 + /**
 +
 + * @param strNom
 + * @param strPrenom
 + * @param adresse
 + */
 + public Adresse (int numRue, String strNomRue, int nCodePost, String strVille)
 + {
 + if(!setNumRue( numRue)) ​ {setNumRue ("pas de nom"​);​};​
 + if(!setNomRue(strNomRue)) {setNomRue ("pas de prénom"​);​};​
 + if(!setCP( nCodePost)) {setCP("​pas d'​adresse"​);​};​
 + if(!setVille( strVille)) {setVille("​pas d'​adresse"​);​};​
  
 + }
 +
 +
 + /​*------------------------------ CONSTRUCTEUR PAR DEFAUT ------------------------------------------*/​
 +
 + public Adresse ()
 + {
 + this(00, "​RueInconnue",​ 99999, "​VilleInconnue"​);​
 + }
 +
 +
 + /* ***************************** ​ GETTER LES PROPRIETES ​  ​***************************************** */
 +
 + /​** Récupère la propriété m_numRue.
 +
 + * @return Contenu de m_numRue.
 + */
 +
 + public int getNumRue()
 + {
 + return m_numRue;
 + }
 +
 + //​-----------------------------------------------------------
 +
 + /​** Récupère la propriété m_strNomRue.
 +
 + * @return Contenu de m_strNomRue.
 + */
 + public String getNomRue()
 + {
 + return m_strNomRue;​
 + }
 +
 + //​-----------------------------------------------------------
 +
 + /​** Récupère la propriété m_nCodePost.
 +
 + * @return Contenu de m_nCodePost.
 + */
 + public int getCP()
 + {
 + return m_nCodePost;​
 + }
 +
 + //​-----------------------------------------------------------
 +
 + /​** Récupère la propriété m_strVille.
 +
 + * @return Contenu de m_strVille.
 + */
 + public String getVille()
 + {
 + return m_strVille;
 + }
 +
 +
 + // ***************************** ​ SETTER LES PROPRIETES ​  ​******************************************
 +
 + /** Affecte (si possible) la chaîne donnée à la propriété m_strNomRue.
 +
 + * @param strSaisi : Chaîne à affecter (doit être alphabétique,​ plus : noombres, espace, tiret, apostrophe).
 + * @return VRAI si affectation possible.
 + */
 +
 + public boolean setNomRue(String strSaisi)
 + {
 + boolean oK = false;
 +
 + if (OutilsTests.estAlphaPlus(strSaisi))
 + {
 + oK = true;
 + m_strNomRue = strSaisi.trim();​
 + }
 +
 + return oK;
 + }
 + //​-----------------------------------------------------------------------------------------------------
 +
 + /** Affecte (si possible) la chaîne donnée à la propriété m_strVille.
 +
 + * @param strSaisi : Chaîne à affecter (doit être alphabétique,​ plus : espace, tiret, apostrophe, slash).
 + * @return VRAI si affectation possible.
 + */
 + public boolean setVille(String strSaisi)
 + {
 + boolean oK = false;
 +
 + if (OutilsTests.estAlphaPlus2(strSaisi))
 + {
 + oK = true;
 + m_strVille = strSaisi.trim();​
 + }
 +
 + return oK;
 + }
 + //​--------------------------------------------------------------------------------------------------
 +
 + /** Affecte (si possible) la convertion de la chaîne donnée à la propriété m_numRue.
 +
 + * @param numSaisi : Chaîne à affecter (doit représenter un entier).
 + * @return VRAI si affectation possible.
 + */
 + private boolean setNumRue(String numSaisi)
 + {
 + boolean oK = false;
 + numSaisi = numSaisi.trim();​
 +
 + if (OutilsTests.estEntier(numSaisi))
 + {
 + oK = setNumRue(Integer.parseInt(numSaisi));​
 +
 + }
 +
 + return oK;
 + }
 +
 + //​--------------------------------------------------------------------------------------------------
 +
 + public boolean setNumRue(int numSaisi)
 + {
 + boolean oK = false;
 +
 +
 + if (numSaisi>​0)
 + {
 + oK = true;
 + m_numRue =numSaisi ;
 + }
 +
 + return oK;
 + }
 +
 + //​----------------------------------------------------------------------------------------------------
 +
 + /** Affecte (si possible) la convertion de la chaîne donnée à la propriété m_nCodePost.
 +
 + * @param numSaisi : Chaîne à affecter (doit représenter un entier de 5 chiffres).
 + * @return VRAI si affectation possible.
 + */
 + private boolean setCP(String numSaisi)
 + {
 + boolean oK = false;
 + numSaisi = numSaisi.trim();​
 +
 + if (OutilsTests.estCP(numSaisi))
 + {
 + oK = true;
 + m_nCodePost = Integer.parseInt(numSaisi) ;
 + }
 +
 + return oK;
 + }
 +
 + //​----------------------------------------------------------------------------------------------------
 +
 + public boolean setCP(int numSaisi)
 + {
 + boolean oK = false;
 +
 + if(numSaisi>​0)
 + {
 + oK = true;
 + m_nCodePost = numSaisi;
 + }
 +
 + return oK;
 + }
 +
 + //​-----------------------------------------------------------------------------------------------------
 +
 + /** Découpe et affecte (si possible) la chaîne donnée aux différentes propriétés de Adresse. ​
 +
 + * @param strSaisie : Chaîne à traiter/​affecter selon la structure : "​entier,​ nom rue, code postal, nom ville"​.
 + * @return VRAI si affectation possible.
 + */
 + public boolean setStructAdresse(String strSaisie)
 + {
 + boolean oK = false ; // A priori, c'est pas bon.
 +
 + if (strSaisie != null) {
 + // la chaîne saisie doit se composer de 4 parties séparées par des SEP_ADR :
 + String[] strDecoupe = strSaisie.split(SEP_ADR);​
 + if ((strDecoupe.length == 4) && (this.setNumRue(strDecoupe[0]))
 + &&​ (this.setNomRue(strDecoupe[1]))
 + &&​ (this.setCP(strDecoupe[2]))
 + &&​ (this.setVille(strDecoupe[3]))) {
 + oK = true;
 + }
 +
 +
 + }
 + return oK;
 + }
 +
 +
 + //​--------------------- remarque sur l'​override du string ​ -----------------------------------------
 + // Si on ne crée pas d'​override,​ objet.toString() => renvoie le nom de la classe de l'​objet
 + // l'​override ci-dessous permet d'​afficher les propriétés de l'​objet
 +
 +
 + @Override  ​
 + public String toString()
 + {
 + return ​ Integer.toString(this.getNumRue()) ​
 + + SEP_ADR+ this.getNomRue() ​
 + + SEP_ADR+ Integer.toString(this.getCP()) ​
 + + SEP_ADR+ this.getVille();​
 + }
 +
 +
 +
 + //​------------------- permet à l'​adresse de se lire elle-même ----------------------------------------
 +
 + public void lire() ​
 + {
 + // lire le n° de rue :
 + String saisie;
 + String invite = "​Donnez un numéro de rue  : ";
 + do
 + {
 + saisie = Lire.Chaine(invite);​
 +
 +
 + } while (!(this.setNumRue(saisie)));​ //​ Arrêt quand la saisie est correcte
 +
 +
 + // lire la rue :
 + invite = "​Donnez le nom de la rue  : ";
 + do
 + {
 + saisie = Lire.Chaine(invite);​
 +
 +
 + } while (!(this.setNomRue(saisie)));​ //​ Arrêt quand la saisie est correcte
 +
 +
 + // lire la ville :
 + invite = "​Donnez la Ville  : ";
 + do
 + {
 + saisie = Lire.Chaine(invite);​
 +
 +
 + } while (!(this.setVille(saisie)));​ //​ Arrêt quand la saisie est correcte
 +
 +
 + // lire le code postal :
 + invite = "​Donnez le code postal ​ : ";
 + do
 + {
 + saisie = Lire.Chaine(invite);​
 +
 +
 + } while (!(this.setCP(saisie)));​ //​ Arrêt quand la saisie est correcte
 + }
 +
 +
 + // permet d'​afficher une adresse :
 +
 + public void affiche()
 + {
 + System.out.println(this.toString());​
 + }
 +
 +}
 +
 +</​code>​
 +
 +=====Une classe tableau d'​objets =====
 +
 +<code java>
 +
 +
 +
 +public class Groupe
 +{
 +
 + /***
 + * Attribut de la classe groupe MAx,​m_nCpt,​m_tableauindividu[]
 + */
 + private static final int MAX= 20;
 + private int m_nCpt=0;
 + private static int m_nMax;
 + private Individu m_tableauindividu[];​
 +
 +
 + /***
 + * constructeur par defaut ​
 + */
 + public Groupe()
 + {
 + this(MAX);​
 + setMax(MAX);​
 +
 + }
 + /***
 + * Constructeur d'​initialisation
 + * @param n : c'est le nombre d'​individu
 + */
 +
 + public Groupe(int n)
 + {
 + if (n>0)
 + {
 +
 + m_tableauindividu = new Individu[n];​
 + setMax(n);​
 + }
 + else ​
 + {
 + m_tableauindividu = new Individu[MAX];​
 + setMax(MAX);​
 + }
 + }
 +
 +
 +
 + /***
 + * fonction get m_nCpt qui retourne le nombre effectif dans le groupe
 + * @return m_nCpt le retourne le nombre d'​individus effectifs
 + */
 + public int getNb()
 + {
 + return m_nCpt;
 + }
 +
 +
 +/***
 + * fonction set du m_nCpt met à jour le nombre effectif d'​individus
 + * @param m_nCpt
 + */
 + private void setM_nCpt(int m_nCpt)
 + {
 + this.m_nCpt = m_nCpt;
 + }
 +
 +
 +
 +
 +
 +
 + /***
 + * Fonction de la saisie lire() permet de saisir les donnees de chaque personne
 + */
 + public void lire()
 + {
 +
 +
 +
 +
 + //int i =0;
 + int i = getNb();
 + if (isfull(i))
 + {
 +
 + }
 + else ​
 + {
 +
 + do
 + {
 +
 +
 + System.out.println("​Tapper votre choix"​);​
 + System.out.println();​
 + System.out.println("​Client '​0'​ ... Salairé '​1'​ ... Commercial ​ '​2'​ ... Individu '​3'"​);​
 + char d =Lire.c();
 +
 +
 + switch(d)
 + {
 +
 + case '​0':​
 +
 +
 + System.out.println("​Saisie d'un client"​);​
 + m_tableauindividu[i] = new Client();
 + m_tableauindividu[i].lire();​
 +
 +         break;
 +
 + case '​1':​
 +
 + System.out.println("​Saisie d'un salarié"​);​
 + m_tableauindividu[i] = new Employé();
 + m_tableauindividu[i].lire();​
 +
 + break;
 +
 + case '​2':​
 +
 + System.out.println("​Saisie d'un Commercial"​);​
 + m_tableauindividu[i] = new Commercial();​
 + m_tableauindividu[i].lire();​
 +
 +
 + break;
 +
 + case '​3':​
 +
 + System.out.println("​Saisie d'un individu"​);​
 + m_tableauindividu[i] = new Personne();
 + m_tableauindividu[i].lire();​
 +
 +
 + break;
 +
 + }
 +
 + i = i + 1;
 +
 +
 +
 + }while(!isfull(i) && Lire.Question("​Voulez enregistrer d'​autres informations ? [o/n] : "));
 +
 + this.setM_nCpt(i);​
 +
 + }
 + }
 +
 +
 +
 +
 + /***
 + * fonction afficher() qui permet d'​afficher chaque personne du groupe
 + */
 + public ​ void afficher()
 + {
 +
 +
 +    int i =0;
 +   
 +    if(getNb()==0)
 +    {
 +   
 +    System.out.println("​le tableau est vide"​);​
 +    }
 +    else
 +    {
 +    do
 +    {
 +    System.out.println("​Individu N° " + i + " : ");
 +    System.out.println();​
 +        m_tableauindividu[i].afficher();​
 +        System.out.println();​
 +    i = i+1;
 +        ​
 +    }while(i < getNb());
 +    System.out.println();​
 + System.out.println("​Nous avons " + getNb()+ " personne(s) de rentrée(s)"​);​
 +    }
 +   
 +
 +   
 + }
 +
 +
 +
 +/***
 + ​* ​
 + * @return max
 + */
 +
 + public int getMax()
 + {
 +     return m_nMax;
 + }
 +
 +
 +
 +/***
 + * renvoie une reference sur l'​individu dans la case visée
 + * @param i
 + * @return
 + */
 +    public Individu individuAt(int i)
 +    {
 + if( i < 0 && i > getNb())
 + {
 +     return null;
 + }
 + else {
 +
 +     return m_tableauindividu[i];​
 + }
 +
 +
 +    }
 + /***
 + * permet de voir si le groupe est rempli
 + * @param i
 + * @return
 + */
 +   ​public boolean isfull(int i)
 +   {
 +
 + if (i==getMax())
 + {
 + System.out.println("​le tableau est plein"​);​
 + return true;
 + }
 + else
 + {
 + return false;
 + }
 +   }
 +   
 +   ​private void setMax(int m_nMax)
 +   {
 + Groupe.m_nMax = m_nMax;
 +   }
 +
 +
 +}
 +</​code>​
 +
 +=====Des classes héritiaires "​d'​Individu"​ =====
 +
 +====Personne : une classe héritaire d'​individu ====
 +
 +<code java>
 +
 +public class Personne extends Individu
 +{
 +
 + public Personne()
 + {
 +
 + }
 +
 + public Personne(String nom, String prenom, Adresse adresse)
 + {
 + super(nom,​ prenom, adresse);
 +
 + }
 +
 +
 +}
 +
 +</​code>​
 +
 +
 +====Salarié:​ une classe abstraite et héritiaire d'​individu ====
 +<code java>
 +
 +abstract class Salarié extends Individu
 +{
 + private ​ final float SALAIREDEFAUT =2000;
 + private float m_salaire;
 + private int m_statut;
 +
 +
 + /***
 + * Constructeur par defaut
 + */
 + public Salarié()
 + {
 + this.setSalaire(SALAIREDEFAUT);​
 + this.setStatut("​1"​);​
 + }
 +
 +
 + /***
 + * Constructeur d'​initialisation
 + * @param nom
 + * @param prenom
 + * @param adresse
 + * @param salaire
 + * @param statut
 + */
 + public Salarié(String nom,String prenom,​Adresse adresse,​float salaire,int statut)
 + {
 + super( nom, prenom, adresse);
 + if(!setSalaire(salaire))this.setSalaire(SALAIREDEFAUT);​
 + if(!setStatut(statut))this.setStatut("​1"​);​
 +
 +
 + }
 +
 +
 +
 +@Override
 + public String toString()
 + {
 +
 + return super.toString()+ " votre salaire est de : "​+ ​ getSalaire()+ " votre satatut est : "+ getStatut();​
 + }
 +
 +
 +/***
 + * cette methode recupere le salaire ​
 + * @return le salsaire
 + */
 + public float getSalaire()
 + {
 +
 + return m_salaire;
 + }
 +
 +
 + /***
 + * cette methode met a jour le salaire l'​entree est en float
 + * @param m_salaire
 + * @return retourne ok 
 + */
 + public boolean setSalaire(float m_salaire)
 + {
 +
 + boolean ok = false;
 +
 + if(m_salaire>​0.0)
 + {
 +
 + this.m_salaire = (m_salaire);​
 + ok =true;
 +
 + }
 + else
 + {
 + ok=false;​
 + }
 +
 + return ok;
 + }
 +
 +/***
 + * cette methode (polymorphe) de la methode setSalaire (float)met à jour le salaire l'​entree en string
 + * @param m_salaire
 + * @return ok
 + */
 + private boolean setSalaire(String m_salaire)
 + {
 +
 + boolean ok = false;
 +
 + if(BoiteAOutil.isFloat(m_salaire))
 + {
 +
 +
 + ok=setSalaire(Float.parseFloat(m_salaire));​
 +
 + }
 + else
 + {
 + ok=false;​
 + }
 +
 + return ok;
 + }
 +
 +
 +/***
 + * cette methode recupere le stat
 + * @return le statut
 + */
 + public int getStatut()
 + {
 + return m_statut;
 + }
 +
 +
 +
 +/***
 + * cette  methode met à jour le stat
 + * @param m_statut
 + * @return bollean ok
 + */
 + public boolean setStatut(int m_statut)
 + {
 + boolean ok = false;
 +
 + if(m_statut>​ 0)
 + {
 + this.m_statut = (m_statut);
 + ok =true;
 + }
 + else {
 + ok=false;​
 + }
 +
 + return ok;
 +
 + }
 +
 +
 +
 + /***
 + * cette methode (polymorphe) de la methode setstat (float)met à jour le statut l'​entree en string
 + * @param m_statut
 + * @return boolean ok
 + */
 +
 + private boolean setStatut(String m_statut)
 + {
 + boolean ok = false;
 +
 + if(BoiteAOutil.isInteger(m_statut))
 + {
 +
 + ok = setStatut(Integer.parseInt(m_statut));​
 + }
 + else ​
 + {
 + ok=false;​
 + }
 +
 + return ok;
 +
 + }
 +
 +
 +
 +
 + /***
 + * Methode lire qui permet de récuperer les donnees saisie par l'​opérateur
 + */
 +
 + @Override
 + public void lire()
 + {
 + super.lire();​
 + boolean oksalaire = false;
 + boolean okstatut = false;
 + System.out.println();​
 +
 + while (!oksalaire)
 + {
 + System.out.println("​Combien gagnez-vous?​ ");
 + oksalaire = this.setSalaire(Lire.S());​
 + }
 + System.out.println();​
 +
 + while (!okstatut)
 + {
 + System.out.println("​Quel est votre statut? ");
 +
 + okstatut= this.setStatut(Lire.S());​
 +
 + }
 + }
 +
 +}
 +
 +</​code>​
 +
 +==== Employé : une classe dérivée de Salarié ====
 +
 +<code java>
 +
 +public class Employé extends Salarié
 +{
 + public Employé()
 + {
 +
 +
 + }
 +
 + public Employé(String nom, String prenom, Adresse adresse, float salaire, int statut)
 + {
 + super(nom,​ prenom, adresse, salaire, statut);
 +
 + }
 +
 +}
 +
 +</​code>​
 +
 +====Commercial:​ Une classe dérivée de Salarié ====
 +
 +<code java>
 +
 +public class Commercial extends Salarié
 +{
 + private float m_chiffreaffaire;​
 + private float m_ratio;
 + private final float CADEFAUT=0;
 + private final float RATIO=0.1f; ​ // f : pour lui dire qu'il s'agit d'un float ; pareil que convertTo float sur un double
 +
 + /***
 + * constructeur par defaut
 + */
 + public Commercial()
 + {
 + this.setChiffreAffaire(CADEFAUT);​
 + this.setRatio(RATIO);​
 +
 + }
 +
 + /***
 + * constructeur d'​initialisation
 + * @param nom
 + * @param prenom
 + * @param adresse
 + * @param salaire
 + * @param statut
 + * @param chiffreaffaire
 + * @param ratio
 + */
 + public Commercial(String nom,String prenom,​Adresse adresse,​float salaire,int statut,​float chiffreaffaire,​float ratio)
 + {
 + super(nom,​ prenom, adresse, salaire, statut);
 + if(!setChiffreAffaire(chiffreaffaire))this.setChiffreAffaire(CADEFAUT);​
 + if(!setRatio(ratio))this.setRatio(RATIO);​
 +
 + }
 +
 +
 +
 +
 +
 + /***
 + * methode getsalaire du commercial qui en plus rajoutte le chiffre d affaire et le ratio
 + */
 + @Override
 + public float getSalaire()
 + {
 +
 + return super.getSalaire()+getChiffreAffaire()*getRatio();​
 +
 + }
 +
 + /***
 + * cette methode recupere le chiffre d affaire ​
 + * @return chiffreaffaire
 + */
 +
 + private float getChiffreAffaire()
 + {
 + return m_chiffreaffaire;​
 + }
 +/***
 + * cette methode met à jour le ca l'​entree est en float
 + * @param m_chiffreaffaire
 + * @return ok
 + */
 + private boolean setChiffreAffaire(float m_chiffreaffaire)
 + {
 +
 + boolean ok = false;
 +
 + if(m_chiffreaffaire>​0.0)
 + {
 +
 + this.m_chiffreaffaire = (m_chiffreaffaire);​
 + ok =true;
 +
 + }
 + else
 + {
 + ok=false;​
 + }
 +
 + return ok;
 +
 + }
 +/***
 + * cette methode (polymorphe) de la methode setChiffreAffaire (float)met à jour le ca l'​entree en string
 + * @param m_chiffreaffaire
 + * @return
 + */
 + private boolean setChiffreAffaire(String m_chiffreaffaire)
 + {
 +
 + boolean ok = false;
 +
 + if(BoiteAOutil.isFloat(m_chiffreaffaire))
 + {
 +
 +
 + ok=setChiffreAffaire(Float.parseFloat(m_chiffreaffaire));​
 +
 + }
 + else
 + {
 + ok=false;​
 + }
 +
 + return ok;
 + }
 +
 +
 +
 +
 + /***
 + * cette methode récupère le ratio 
 + * @return ratio
 + */
 + private float getRatio()
 + {
 + return m_ratio;
 + }
 +
 + /***
 + * cette methode met a jour le ratio l'​entree est en float
 + * @param m_ratio
 + * @return ok
 + */
 +
 + private boolean setRatio(float ratio)
 + {
 + boolean ok = false;
 +
 + if(ratio>​=0.02f ​ && ratio <=0.1f)
 + {
 +
 + this.m_ratio = (ratio);
 + ok =true;
 +
 + }
 + else
 + {
 + ok=false;​
 + }
 +
 + return ok;
 +
 +
 +}
 + private boolean setRatio(String m_ratio)
 + {
 + boolean ok = false;
 +
 + if(BoiteAOutil.isFloat(m_ratio))
 + {
 +
 +
 + ok=setRatio(Float.parseFloat(m_ratio));​
 +
 + }
 + else
 + {
 + ok=false;​
 + }
 +
 + return ok;
 + }
 +
 +
 +
 + /***
 + * methode to string de la classe commercial
 + */
 + @Override
 + public String toString()
 + {
 + return super.toString()+ " votre chiffre d'​affaire est de : " + getChiffreAffaire()+ " votre ratio est de : " + getRatio();
 + }
 + /***
 + * methode lire de la classe commercial
 + */
 + @Override
 + public void lire()
 + {
 + super.lire();​
 + boolean okchiffreaffaire = false;
 + boolean okratio = false;
 + System.out.println();​
 +
 + while (!okchiffreaffaire)
 + {
 + System.out.println("​Quel est votre chiffre d'​affaire?​ ");
 + okchiffreaffaire = this.setChiffreAffaire(Lire.S());​
 + }
 + System.out.println();​
 +
 + while (!okratio)
 + {
 + System.out.println("​Quel est votre ratio? ");
 +
 + okratio= this.setRatio(Lire.S());​
 +
 + }
 + }
 +
 +
 +
 +}
 +
 +</​code>​
 +
 +=====Programme de test =====
 +
 +<code java>
 +
 +public class Program {
 +
 + public static void main(String[] args) 
 + {
 + Groupe monGroupe = new Groupe();​ //​ Groupe des individus saisis
 +  
 + //  Affichage du nom et de la version du programme
 + System.out.println("​**** Saisie et affichage d'un tableau (groupe) d'​individus (V1.0, 25/03/2015) ****" );
 + System.out.println(""​);​
 +
 +
 + // Acquisition + affichage d'un certain nombre d'​individus :
 +        ​
 +        do  ​
 +        {   
 +    System.out.println("​--- Saisie d'au plus "+ monGroupe.getMax() +" personnes ---" );
 +    System.out.println(""​);​
 +
 +    // Acquisition d'un certain nombre d'​individus :       
 +            int i = 0; // indice de parcours du tableau d'​individus
 +    do  ​
 +            {   
 +           ​ monGroupe.lire();​
 +           ​  ​   i = i + 1;
 +            } 
 +    while (Lire.Question("​Voulez-vous saisir un autre individu ?"​) ​      // Arrêt quand  "​non"​
 +           ​ &&​ (i < monGroupe.getMax())) ; ​ // ou si tableau plein
 +
 +    // Affichage des individus saisis :
 +    System.out.println(""​);​
 +                monGroupe.afficher();  ​
 +   
 +       
 +        } while (Lire.Question("​Voulez-vous saisir un autre groupe d'​individus ?") ) ;  // Arrêt quand "​non"  ​
 +
 +
 + }
 +
 +}
 +
 +</​code>​
utilisateurs/hypathie/tutos/java-oriente_objet.1427613149.txt.gz · Dernière modification: 29/03/2015 09:12 par Hypathie

Pied de page des forums

Propulsé par FluxBB