[Java] Utilisation des Getter/Setter

Résolu/Fermé
SyPiC Messages postés 154 Date d'inscription samedi 28 mars 2009 Statut Membre Dernière intervention 29 novembre 2013 - 9 juin 2009 à 23:26
SyPiC Messages postés 154 Date d'inscription samedi 28 mars 2009 Statut Membre Dernière intervention 29 novembre 2013 - 11 juin 2009 à 16:36
Bonjour,
Je suis débutant en java (moyen) et je fais un projet java pour mon apprentissage d'informaticien. Je voudrais utiliser un getter, mais je n'arrive pas à utiliser les attributs des autres classes. je ne sais pas quelle syntaxe il faut utiliser...
Je m'explique:
- j'ai une classe Joueur
- j'ai une classe Chien
Ma classe Chien comporte un attribut:
private int vie = 5;
Je veux utiliser le int vie dans ma classe joueur. Je veux pouvoir récupérer ce 5 de ma classe Chien et l'utiliser pour faire une boucle while(vie > 0) dans un objet joueur1 de la classe Joueur... J'utilise NetBeans et j'ai fait un projet en UML en parallèle qui m'as généré mes getter automatiquement qui m'a fait ca:

public Chien getChien () {
return mChien;
}

Il m'a aussi déclaré cela dans ma classe:

private Chien mChien;

Donc j'ai déjà le GET mais je sais pas si s'est le bon, je sais pas comment utiliser la valeur. Bref sa marche pas...
Donc si vous avez de l'aide a me proposer se serait super! Si j'ai pas été clair, dites-le moi et je reformulerai ma question autrement...

Merci beaucoup!
A voir également:

4 réponses

snake-d12 Messages postés 218 Date d'inscription mardi 2 juin 2009 Statut Membre Dernière intervention 25 septembre 2009 57
10 juin 2009 à 19:36
ok, un exemple pour comprendre :

******************La Classe Chien *****************************
package testgetset;

public class Chien {
	private int age = 5;

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}	
}



******************La Classe Joueur *****************************
package testgetset;

public class Joueur {	
	
	public void boucle(){
		Chien c = new Chien();
		while(c.getAge() > 0){
			System.out.println("blablabla");
		}
	} 
}


******************La Classe Main*****************************
package testgetset;

public class Main {

	public static void main(String[] args) {
		Joueur j = new Joueur();
		j.boucle();	
	}
}


**********************************************************
J'espère que cela vous serai utile
Bonne chance
16
SyPiC Messages postés 154 Date d'inscription samedi 28 mars 2009 Statut Membre Dernière intervention 29 novembre 2013 19
10 juin 2009 à 19:00
Je comprends toujours pas...
Bon, je vais faire un petit programme.

La classe Main:

package testgetset;
public class Main {
public static void main(String[] args) {

}
}

La classe Chien:

package testgetset;
public class Chien {
private int age = 5;
}

La classe Joueur

package testgetset;
public class Joueur {
public void boucle(){
while(vie /*du chien mais il faut faire un get... je sais pas comment faire...*/ > 0){
System.out.println("blablabla");
}
}
}

Si quelqu'un peut m'aider en complétant mon programme se serait super...
Voila, merci d'avance...
5
snake-d12 Messages postés 218 Date d'inscription mardi 2 juin 2009 Statut Membre Dernière intervention 25 septembre 2009 57
10 juin 2009 à 01:46
puisque vous avez un attribut private int vie = 5;
vous devez avoir dans la même classe:

public int getVie(){
return vie;
}
public void setVie(intvie){
this.vie=vie;
}

et dans la classe où vous voulez récupérer la valeur, il vous suffit seulement d'instancier un Objet de la classe Chien, et faire ObjetChien.getVie() et vous obtenez la valeur déclarer dans l'attribut vie.
4
SyPiC Messages postés 154 Date d'inscription samedi 28 mars 2009 Statut Membre Dernière intervention 29 novembre 2013 19
11 juin 2009 à 16:36
Merci beaucoup pour l'exemple! C'était ce qu'il me manquait...
Ça marche maintenant!
2