IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

[POO] Questions sur une classe get


Sujet :

Langage Java

  1. #1
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut [POO] Questions sur une classe get
    Bonjour tout le monde,

    Une petite question sur la POO :

    J'ai une classe Piece :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    public class Piece 
    {
    	public int cote;
    	private final int FACE =0;
    	private final int PILE =1;
     
    	public int getCote()
    	{
    		return cote;
    	}
     
    	public void lancer()
    	{
    		cote = (int) (Math.random()*2);
    	}
     
    	public String toString()
    	{
    		if (cote == PILE)
    		{
    			return "Pile";
    		}
    		else
    		{
    			return "Face";
    		}
    	}
    }
    j'ai une autre classe de test qui me permet d'utiliser les méthodes de la classe Piece :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    public class PieceTest 
    {
    	public static void main(String [] args)
    	{
    		Piece p = new Piece();
     
    		for (int i=0; i<10;i++)
    		{
    			p.lancer();
    			System.out.println(i + " " + p.toString());
    		}
    	}
     
    }
    ce que je ne comprends pas bien, c'est ça :

    public int getCote()
    {
    return cote;
    }

    Déjà, le int après public, ça veut dire qu'il va renvoyer un entier ?

    Dans ma classe de test, getCote est nullement appelé.

    Merci d'avanca pour vos explications.

    beegees

  2. #2
    Rédacteur
    Avatar de eclesia
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    2 108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 108
    Points : 3 203
    Points
    3 203
    Par défaut
    Déjà, le int après public, ça veut dire qu'il va renvoyer un entier ?
    Oui c'est ca.


    Tu as un soucis a ce niveau la :
    il devrait y avoir ecrit :
    et dans ta classe test tu es obligé de passer par getCote si tu veux la valeur.

  3. #3
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2004
    Messages
    253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2004
    Messages : 253
    Points : 446
    Points
    446
    Par défaut
    1- Oui, le int après le public indique que la méthode retourne un int.
    2- La méthode getCote n'est pas appelée certes, mais quel est ton pb exactement ?

  4. #4
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut
    Bonjour,

    Merci pour vos réponses.

    Ce que je sais maintenant, c'est que int renvoie bien un entier.

    Mon problème est que je ne comprends rien à ces classes qu'on crée nous même.

    eclesia dit :

    et dans ta classe test tu es obligé de passer par getCote si tu veux la valeur.
    Ce que je ne comprends pas, c'est que dans ma classe de teste, je n'ai pas :

    J'aurais voulu savoir avec quel élément ce getCote travaille dans la classe qu'on a crée.

    Merci encore à vous deux pour vos réponses.

    beegees

  5. #5
    Membre expérimenté Avatar de willoi
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    1 355
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 355
    Points : 1 639
    Points
    1 639
    Par défaut
    Citation Envoyé par beegees
    J'aurais voulu savoir avec quel élément ce getCote travaille dans la classe qu'on a crée.
    avec la valeur de la propriete cote definie avec :

  6. #6
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut
    Citation Envoyé par willoi
    avec la valeur de la propriete cote definie avec :
    et la valeur elle peut prendre quoi ?

    pile et face ou 1 et 2 ?

    Merci pour ton aide.

    beegees

  7. #7
    in
    in est déconnecté
    Membre expérimenté Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Points : 1 718
    Points
    1 718
    Par défaut
    Citation Envoyé par beegees
    J'aurais voulu savoir avec quel élément ce getCote travaille dans la classe qu'on a crée.
    ben tu peux l'appeller sur ton objet piece si tu veux.

    Là la méthode n'est pas utilisée mais rien ne t'empêche de faire
    pour savoir de quel côté est tombé la pièce (au dernier lancer). Par contre ça t'affichera 0 ou 1.

    Normalement les méthodes getXXX et setXXX sont utilisées pour obtenir/maj les valeurs des attributs privés d'une instance de classe. Ici, vu que l'attribut cote est déclaré public, tu n'est pas obligé de passer par la méthode getCote(), un simple te renvoie également la valeur.

    [EDIT] ha, je suis plus dans le timing là ...
    Pour répondre à ta dernière question, la méthode getCote renvoie la valeur de l'attribut cote de l'instance. Elle renvoie donc la valeur "en cours", qui est, pour l'attribut cote 0 ou 1

  8. #8
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut
    Bonjour in,

    Merci pour ta réponse.

    Tu me dis :

    Là la méthode n'est pas utilisée mais rien ne t'empêche de faire
    Elle est sans doute utilisée mais pas affichée ?

    Car si je fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.println(p.getCote());
    j'obtiens le dernier résultat du lancer de dé, donc pour moi il est utilisé ?

    Qu'en penses-tu ?

    beegees

  9. #9
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    504
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 504
    Points : 288
    Points
    288
    Par défaut
    salut...
    dans ton premier post au niveau du code, tu n'appelais jamais getCote(), et celle ci n'était jamais affiché.
    maintenant en faisant
    Car si je fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.println(p.getCote());
    là oui tu l'affiche et tu l'appelle.... donc tu l'utilise bien, mais dans le premier post ou tu as mis ton code tu n'a pas mis cette ligne d'ou la reponse de in...
    je ne sais pas si tout ceci est clair...

Discussions similaires

  1. php POO question sur les class et requetes SQL
    Par craz00 dans le forum Langage
    Réponses: 3
    Dernier message: 28/02/2014, 01h25
  2. 3 questions sur une classe
    Par Baubeau Cédric dans le forum Débuter
    Réponses: 8
    Dernier message: 23/12/2009, 10h46
  3. Réponses: 7
    Dernier message: 25/02/2007, 05h26
  4. Question sur une classe <template>
    Par Pingva dans le forum C++
    Réponses: 1
    Dernier message: 26/01/2007, 18h16
  5. Réponses: 10
    Dernier message: 05/12/2005, 02h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo