Classe et attribut en java

Fermé
Ondin - 7 sept. 2009 à 12:18
 Ondin - 7 sept. 2009 à 14:05
Bonjour,
En fait je sui debutan en java.J'ai 2 classes et leur attribut.je souhaite avoir les attributs d'une des classe dans la seconde classe.J'ai par example class Machine{int numero,String Type,String Serie,String Marque} et class Diagnostique{int Numero,String Observation}.j'aimerai maintenant utiliser numero de Machine au niveau de Diagnostique et avoir du coup Type,Serie,Marque dans la class Diagnostique. Est-ce possible? Aider-moi s'il vous plait.
Ondin
A voir également:

1 réponse

kij_82 Messages postés 4088 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
7 sept. 2009 à 13:44
Bonjour,

En java, une classes est implémentée lorsqu'un objet de cette classes est instancié depuis un code Java.
Ce code Java peut se trouver à l'intérieur de cette même classe (par exemple dans une méthode 'main' de lancement) ou depuis une autre classe (deux cas les plus courant si ce ne sont pas les seuls)

Dans ton cas, il s'agit du second cas de figure.
Tu as deux classes, 'Machine' et 'Diagnostique'. D'un point de vue fonctionnel, ce sera ta classe 'Diagnostique' qui utilisera des objets de ta classe 'Machine'.
Conclusion : si tu souhaite avoir les informations relative à un objet instancié de la classe 'Machine', il faut que tu ai une référence à cet objet dans ta classe 'Diagnostique', et que tu appelle l'un des 'getter' de cette classe (le getter lié à la propriété donc tu souhaites récupérer la valeur)

Exemple concret sur la manière dont tu instancie tes objets de classe 'Machine', puis la manière de les utiliser.

Code fictif de ta classe 'Machine' :
public class Machine {
   // --- Attributs de la classe 'private' par défaut
   private int numero = 0;
   private String type = null;

   // --- Constructeur de la classe
   public Machine ( int _num, String _type ){
      this.numero = _num;
      this.type = _type;
   }

   // --- Getter & setters
   public void setNumero ( int theNum ){
      this.numero = theNum;
   }
   public int getNumero ( ){
      return this.numero;
   }
   public void setType ( String theType ){
      this.type = theType;
   }
   public String getType ( ){
      return this.type;
   }
}


Les getters / setters sont là pour setter ou getter les valeurs des propriétés de la classe (ou de l'objet plutôt) depuis l'extérieur puisque les propriétés sont en accès 'private'.

Et un example de code pour ta classe 'Diagnostic' :
public class Diagnostic {
   
   // --- Constructeur de la classe
   public Diagnostic ( ){
   }

   // --- Classe principale du programme (point d'entrée)
   public static void main ( String[] args ){
      Diagnostic myDiag = new Diagnostic();
      myDiag.test();
   }

   // --- Méthode de test pour illustrer la manière de récupérer les valeurs des propriétés de tes objets Machine
   public void test ( ){
      // --- Instanciation d'un objet de la classe 'Machine'
      Machine myMachine1 = new Machine(1,"Bosch");
      // --- Affichage des propriétés de cet objet :
      System.out.println("Num machine 1 : "+myMachine1.getNumero()+"  / Type : "+myMachine1.getType());
   }

}



En espérant que cette illustration soit suffisamment clair à comprendre et réponde à ta question.
3
merci pour ta reponse,je vè revoir mon code et je te tiens informer
0