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 :

Erreur : Ne peux pas accéder à une variable d'une sous classe depuis la super classe.


Sujet :

Java

  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2018
    Messages : 2
    Par défaut Erreur : Ne peux pas accéder à une variable d'une sous classe depuis la super classe.
    Je suis débutant en Java et j'aimerais ici dans la méthode vente_Animal, pouvoir accéder au poid et à l'état des animaux en question. (Error: cannot find symbol prix = a.Getpoid() et Error: cannot find symbol prix = a.GetEtat()).

    Est ce donc impossible d'accéder a ces 2 variables depuis la classe Animaux ? Suis je obliger ce créer 2 méthode ciblant une vache puis un chien ?
    (Soyez indulgent je débute et c'est la première fois que je poste sur un forum, d'habitude je cherche de moi même mais la je sèche !)

    Voici mon code :

    Etre_vivant.java

  2. #2
    Membre éclairé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2007
    Messages
    256
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2007
    Messages : 256
    Par défaut
    Bonjour à vous,

    Il est en effet impossible d'accéder à une variable d'une sous classe dans la classe étendue.

    Pour résoudre votre problématique du poids et de l'état, le plus simple est dire que tous les animaux ont un poids et un état. Pour cela, vous devez déplacer la méthode getPoids() et getEtat() dans la classe Animaux au lieu d'uniquement sur Vache ou Chien.

    Si le calcul du prix est différent pour chaque animal, une autre solution serait de directement fournir la méthode calculerPrix() sur chaqu'un des animaux.
    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
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
     
    // Exemple
     
    abstract class Animaux extends Etre_vivant{
        private Proprietaire proprietaire;
     
     
        abstract public String affich_parole();
     
        public abstract int calculerPrix(); // <---- ICI
     
     
        public void newProprio(Proprietaire p){
            proprietaire = p;
        }
    }
     
    class Vache extends Animaux{
        private String nom;
        private Homme proprietaire;
        protected int poid;
     
        public String affich_parole(){
            return "meuh";
        }
     
        public void manger(){
     
        }
     
        @Override
        public int calculerPrix() {
            return poids;
        }
    }
     
    class Chien extends Animaux{
        private String nom;
        private Homme proprietaire;
        protected boolean bonneEtat;
     
        public String affich_parole(){
            if(bonneEtat){
                return "ouah";
            } else {
                return "grrr";}
        }
     
        public void manger(Vache v){
     
        }
     
        @Override
        public int calculerPrix(){
            if(bonneEtat){
                    return 100;
                } else {
                    return 80;
                }
        }
    }
    Bien à vous

  3. #3
    Nouveau candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2018
    Messages : 2
    Par défaut Merci pour votre réponse !
    Merci beaucoup pour votre réponse clair, rapide et concise , je n'étais donc pas dans l'erreur totale, voila qui me rassure ! Bien a vous !

Discussions similaires

  1. Réponses: 5
    Dernier message: 12/10/2008, 13h41
  2. Mettre une valeur d'une table dans une variable
    Par Raphou96 dans le forum Access
    Réponses: 5
    Dernier message: 06/02/2006, 15h19
  3. faire passer une variable d'une fct js à une page php
    Par harlock59 dans le forum Langage
    Réponses: 1
    Dernier message: 25/11/2005, 14h41
  4. Affecter une variable javascript à une variable php
    Par gwendy dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 17/10/2005, 20h58
  5. Désigner une variable avec une variable?
    Par littleman dans le forum Paradox
    Réponses: 4
    Dernier message: 12/08/2002, 11h21

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