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

avec Java Discussion :

Problème d'héritage et constructeurs


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Janvier 2008
    Messages
    306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 306
    Par défaut Problème d'héritage et constructeurs
    Bonjour,

    J'ai deux classes suivantes et je souhaite que la classe Magasin herite de la classe DetailRayon

    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
    class DetailRayon
        {
        String rayon;
        int chiffreAffaires;
        public DetailRayon(String rayon, int chiffreAffaires)
                {
                this.rayon = rayon;
                this.chiffreAffaires = chiffreAffaires;
                }
     
        public void afficher()
                {
                System.out.println("Bienvenue dans le rayon " + rayon + " , chiffre d'affaires" + chiffreAffaires + " Euros");
                }
        }
    Le premier code ci-dessus fonctionne bien, en revanche dans celui ci-dessous rien ne fonctionne, pourquoi ?

    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
    import leclerc.DetailRayon;
     
    public class Magasin extends DetailRayon
     {
        String nomMagasin;
        public class Magasin(String rayon, int chiffreAffaires, string nomMagasin)
            {
            super(rayon, chiffreAffaires);    
            this.nomMagasin = nomMagasin;
            }
     
        public static void main(String args[])
           {
           Magasin monMag = new Magasin("Ménage", 80, "MonMag");
           monMag.afficher();
           }
        }
    Merci d'avance pour votre aide.
    Cordialement

  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
    Citation Envoyé par popy67 Voir le message
    celui ci-dessous rien ne fonctionne, pourquoi ?
    Merci de préciser les message d'erreurs du compilateur, à l'exécution, etc. On est à court de boules de crystal

    PS: c'est quoi la classe "Leclerc"?

  3. #3
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Janvier 2008
    Messages
    306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 306
    Par défaut
    Salut,

    Merci de ta réponse.
    La classe Leclerc n'est rien, je viens de corriger cette erreur...

    Sinon, le message d'erreur renvoyé par mon programme est "class Magasin does not have a main method".

    ...

  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
    ca a rien a voir avec l'héritage ça. Vous faites quoi pour déclencher cette erreur? Vous avez bien compilé la classe Magasin présentée dans ce forum? Elle est dans quel package cette classe? On peux avoir son code complet?

  5. #5
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Janvier 2008
    Messages
    306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 306
    Par défaut
    Re bonjour,

    Pour le code complet.

    J'ai une premiere classe DetailRayon enregistré dans le fichier DetailRayon.java

    code :
    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
    class DetailRayon
        {
        String rayon;
        int chiffreAffaires;
        public abstract DetailRayon(String rayon, int chiffreAffaires)
                {
                this.rayon = rayon;
                this.chiffreAffaires = chiffreAffaires;
                }
     
        public void afficher()
                {
                System.out.println("Bienvenue dans le rayon " + rayon + " , chiffre d'affaires" + chiffreAffaires + " Euros");
                }
        }
    J'ai un deuxième fichier nommé Magasin.java contenant la classe Magasin,
    code :
    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
    package leclerc;
     
    public class Magasin extends DetailRayon
        {
        String nomMagasin;
        public class Magasin(String rayon, int chiffreAffaires, string nomMagasin)
            {
            super();
            this.nomMagasin = nomMagasin;
            }
     
        public static void main(String args[])
           {
           Magasin monMag = new Magasin("Ménage", 80, "MonMag");
           monMag.afficher();
           }
        }
    Tout cela est dans le package leclerc qui ne contient rien d'autre que ces deux fichiers.


  6. #6
    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
    il manque l'instruction package sur la classe DetailRayon. Si tu compile ça comme ça, le compialteur ralera pas, mais la classe ne sera pas trouvée à l'exécution.

Discussions similaires

  1. problème d'héritage au niveau du constructeur
    Par khadijadadou dans le forum Débuter
    Réponses: 1
    Dernier message: 16/08/2013, 18h03
  2. probléme d'héritage constructeur
    Par bdptaki dans le forum Langage
    Réponses: 2
    Dernier message: 07/01/2009, 20h39
  3. problème (héritage || class || constructeur )?
    Par crazy_inf dans le forum C++
    Réponses: 3
    Dernier message: 29/06/2008, 22h07
  4. Problème d'héritage ?
    Par Romanops dans le forum WinDev
    Réponses: 2
    Dernier message: 16/11/2005, 17h18
  5. Problème d'héritage d'une méthode protégée
    Par shenron666 dans le forum C++
    Réponses: 9
    Dernier message: 28/04/2005, 23h17

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