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

Java Discussion :

Affichage de paramètre saisi dans une classe fille


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Inscrit en
    Juin 2010
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 9
    Par défaut Affichage de paramètre saisi dans une classe fille
    Bonjour, je suis confronter à un problème dans la programmation d'une de mes classes. Je fais saisir à l'utilisateur les paramètres d'une menuiseries (hauteur, largeur, hauteur_poignee) dans ma classe mère.


    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    import java.util.Scanner;
     
    class menuiseries
    {	
    	protected int hauteur;			
    	protected int largueur;
    	protected int hauteur_poignee;
     
    	private int gethauteur_poignee()
    	{
    		return hauteur_poignee;
    	}
     
    	public menuiseries ()
    	{
    	hauteur = 1350;
    	largueur = 1200;
    	hauteur_poignee = 400;
    	}
     
    	//Affichage
    	public void affichage()
    	{
    	System.out.println( "Hauteur : " +hauteur+ "mm \nLargueur : " +largueur+ "mm \nHauteur Poignee : " +hauteur_poignee+ "mm" );
    	}
     
    	public static void main (String[] argV)
    	{
    	menuiseries V;
    	V = new menuiseries();
    	V.saisirParametre();
    	V.affichage();	
    	System.out.println("Hauteur Poignee : " + V.gethauteur_poignee() + "mm");
    	}
     
     
    	//Saisi des valeurs de la menuiseries
    	public void saisirParametre()
    	{
    	Scanner SC = new Scanner(System.in);
    	System.out.println("Veuillez saisir la hauteur");
    	hauteur = SC.nextInt();
    	System.out.println("Veuillez saisir la largueur");
    	largueur = SC.nextInt();
    	System.out.println("Veuillez saisir la hauteur_poignee");
    	hauteur_poignee = SC.nextInt();
    	}
    }
    Puis dans ma classe fille j'affiche des paramètres qui lui sont spécifiques et je souhaiterais afficher dans cette classe les paramètres saisi par l'utilisateur dans la classe mère (hauteur, largeur, hauteur_poignee). Chose que je n'arrive pas à faire.

    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    import java.util.Scanner;
     
    class fenetre extends menuiseries
    {	
    	private boolean petit_bois_integre_vitrage;
    	private boolean petit_bois_coller_vitrage;
    	private boolean entree_dair;
     
     
    	public fenetre()
    	{
    	petit_bois_integre_vitrage = true;
    	petit_bois_coller_vitrage = false;
    	entree_dair = true;
    	}
     
    	//Affichage
    	public void affichage()
    	{
    	super.affichage();
    	System.out.println( "Petit bois integre au vitrage : " +petit_bois_integre_vitrage+ "\nPetit bois coller au vitrage : " +petit_bois_coller_vitrage+ "\nEntree d'air : " +entree_dair);
    	}
     
     
    	public static void main (String[] argV)
    	{
    	fenetre V;
    	V = new fenetre();
    	V.saisirParametre();
    	V.affichage();	
    	}
     
     
    	//Saisi des valeurs de la menuiseries
    	public void saisirParametre()
    	{
    	Scanner SC = new Scanner(System.in);
    	System.out.println("Veuillez saisir la valeur petit_bois_integre_vitrage");
    	petit_bois_integre_vitrage = SC.nextBoolean();
    	System.out.println("Veuillez saisir la valeur petit_bois_coller_vitrage");
    	petit_bois_coller_vitrage = SC.nextBoolean();
    	System.out.println("Veuillez saisir la valeur entree_dair");
    	entree_dair = SC.nextBoolean();
    	}
    }
    Merci d'avance pour votre aide.

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    ta méthode saisirParametres dans la classe fille ne fait pas appel à la méthode saisrParametres de la classe mêre. Les données de la classe mère ne sont donc pas demandée à l'utilisateur et donc, a l'affichage, elles auront leur valeur par défaut. Je suppose que c'est ça ton problème, sinon explicite mieux ce qui te pose du soucis.


    Aussi, puisque tu débute, je me permet plusieurs remarques de bases, avec de bonne habitudes à prendre dès le début

    • Une nom de classe devrait toujours commencer par une majuscule, pour les distinguer des noms de variable. Donc c'est "public class Menuiseries"
    • dans le même ordre d'idée, un nom de variable commence toujours pas une minuscule. Donc ce devrait être "Menuiserie v = new Menuiserie"
    • le underscore est à éviter dans les noms de méthodes / champs. On utilise toujours pour les noms de méthode et de champs/variables le lowerCamelCase. On devrais donc avoir
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
      5
      6
      	protected int hauteurPoignee;
       
      	private int getHauteurPoignee()
      	{
      		return hauteurPoignee;
      	}
      et
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      	private boolean petitBoisIntegreVitrage;
      	private boolean petitBoisCollerVitrage;
      	private boolean entreeAir;

  3. #3
    Nouveau membre du Club
    Inscrit en
    Juin 2010
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 9
    Par défaut
    Merci d'avoir répondu rapidement, merci pour tes remarques.

    Effectivement mon problème tu la compris je souhaiterais que ma classe fille ne récupère pas les valeurs par défaut de ma classe mère mais celle saisi par l'utilisateur mais sa ne fonctionne pas.

  4. #4
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Citation Envoyé par randy17 Voir le message
    mais sa ne fonctionne pas.
    Faut être plus précis, dans ton code de la classe fille, tu ne fais jamais appel à la classe mère pour qu'elle saisisse ses paramètre et tu ne les saisis pas toi même, donc forcément ils ne sont jamais saisis. Il faut par exemple faire:

    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
    import java.util.Scanner;
     
    class fenetre extends menuiseries
    {	
     // ........
     
    	//Saisi des valeurs de la menuiseries
    	public void saisirParametre()
    	{
            super.saisirParametre();
    	Scanner SC = new Scanner(System.in);
    	System.out.println("Veuillez saisir la valeur petit_bois_integre_vitrage");
    	petit_bois_integre_vitrage = SC.nextBoolean();
    	System.out.println("Veuillez saisir la valeur petit_bois_coller_vitrage");
    	petit_bois_coller_vitrage = SC.nextBoolean();
    	System.out.println("Veuillez saisir la valeur entree_dair");
    	entree_dair = SC.nextBoolean();
    	}
    }

  5. #5
    Nouveau membre du Club
    Inscrit en
    Juin 2010
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 9
    Par défaut
    En fait je n'est pas été claire, je ne voit pas comment je peut faire appel à ma classe mère pour que dans ma classe fille soit afficher les valeurs de la classe mère saisi par l'utilisateur. Je dois certainement dire une bétise mais dois je faire appel dans ma classe fille par le biais d'un Scanner à ma classe mère?

  6. #6
    Rédacteur
    Avatar de CyberChouan
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 752
    Par défaut
    tchize_ t'a déjà donné la réponse : pour appeler la méthode de saisie de la classe mère dans la classe fille, tu dois utiliser le mot-clé "super" qui référence la classe parente. Dans la classe fille, tu exécutes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public void saisirParametre() {
        super.saisirParametre();
        //...
    Avant de poster, pensez à regarder la FAQ, les tutoriaux, la Javadoc (de la JRE que vous utilisez) et à faire une recherche
    Je ne réponds pas aux questions techniques par MP: les forums sont faits pour ça
    Mes articles et tutoriaux & Mon blog informatique

Discussions similaires

  1. Réponses: 1
    Dernier message: 06/11/2009, 00h20
  2. affichage du texte brut dans une classe formulaire
    Par chezdevelopping dans le forum Zend_Form
    Réponses: 2
    Dernier message: 28/08/2009, 18h05
  3. Event dans une classe fille de wxMenuBar
    Par elraton dans le forum wxWidgets
    Réponses: 6
    Dernier message: 28/08/2008, 10h41
  4. Réponses: 4
    Dernier message: 16/03/2008, 18h06
  5. Initialisation const dans une classe fille
    Par cyberjoac dans le forum C++
    Réponses: 3
    Dernier message: 07/10/2007, 17h53

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