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 :

appel de méthode


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    227
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 227
    Par défaut appel de méthode
    Bonsoir

    Alors voilà mon pb

    j'ai une classe abstraite personnage:

    package Personnage;
    import carte.Carte;

    public abstract class Personnage {

    public abstract int donneLeTresorDuProprietaire(String Joueur, int or);


    }

    package Personnage;

    public class Architecte extends Personnage{

    private String Joueur;
    private int or;

    public Architecte (String JoueurDePersonnage, int orDePersonnage){
    this.Joueur=JoueurDePersonnage;
    this.or=orDePersonnage;
    }

    public int donneLeTresorDuProprietaire(String Joueur, int or){
    return or;
    }

    et plusieures autres classes dont Architecte qui dépendent de cette classe.

    Ici ce qui m'intéresse, c'est la méthode donneLeTresorDuProprietaire(String Joueur, int or)
    J'appelle cette méthode dans une autre classe

    package carte;

    public class CarteBleue extends Carte{


    private int cout;
    private String couleur;
    private String nom;
    private int valeur;


    public CarteBleue (String nom, String couleur, int cout){
    this.cout=cout;
    this.couleur=couleur;
    this.nom=nom;
    }

    public String donneLaCouleur() {
    return couleur;
    }

    public int donneLeCout() {
    return cout;
    }

    public String donneLeNom() {
    return nom;
    }

    public int donneLaValeur() {

    if(!(couleur.equals("Violet"))){
    valeur=cout;
    }
    else{

    if(nom.equals("Universite")||(nom.equals("Dracoport"))){
    valeur=8;
    }
    if(nom.equals("Tresor Imperial")){
    valeur=donneLeTresorDuProprietaire("Joueur", or);
    }
    }
    return valeur;
    }
    }

    Mais cela ne plait pas à Eclipse (il me demande de créer une variable locale or) Je sais pas ce qu'il faut faire car si je met en début de pg
    private int or;
    c'est la méthode elle même qui ne lui convient plus!!!

    dsl de balancer tout mon code comme ça, mais je débute vraiment en java et en plus sur eclipse aussi et je sais pas très bien comment expliquer mon pb

    Merci bcp

  2. #2
    Membre Expert
    Avatar de krachik
    Inscrit en
    Décembre 2004
    Messages
    1 964
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 964
    Par défaut
    Bonjour à toi
    Utilises les balises code dans l'editeur (#) pour bien mettre en forme ton code
    pour ton probleme moi ce qui me frappe à l'oeil
    c'est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public abstract int donneLeTresorDuProprietaire(String Joueur, int or);
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    valeur=donneLeTresorDuProprietaire("Joueur", or);
    il attend que tu lui passes un entier et non une variable non declarée
    ce appartient a une autre classe et est privé
    Tu vois de quoi je parles ?
    @+

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 73
    Par défaut
    Bonjour Tanguy,

    Citation Envoyé par tanguy.L Voir le message
    Mais cela ne plait pas à Eclipse (il me demande de créer une variable locale or) Je sais pas ce qu'il faut faire car si je met en début de pg
    private int or;
    c'est la méthode elle même qui ne lui convient plus!!!
    C'est normal, et cela ne dépend pas d'Eclipse.

    Dans ta classe CarteBleue tu utilises la variable or qui n'est pas déclarée.
    Elle doit surement provenir de la classe mère, mais dans ce cas l'appel a cette dernière n'est pas correcte.

    Petit exemple classe mère A, classe fille B :
    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
    public class A
    {
       private int or;
     
        /**
         * Constructor for objects of class A
         */
        public A()
        {
            // initialise instance variables
            or = 1234;
        }
     
        public int get()
        {
            return or;
        }
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    public class B extends A
    {
        /**
         * Constructor for objects of class B
         */
        public B()
        {
            // initialise instance variables
            System.out.println("or = " +super.get());
        }
    }
    Voila en espérant te mettre sur le bon chemin.

    A+

    PS : C'est ce dont parle Krachik.

  4. #4
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    227
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 227
    Par défaut Merci
    Okl
    Merci bcp

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Appeler une méthode dynamiquement
    Par doof dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 03/01/2005, 23h15
  2. Comment l'appel à une méthode virtuelle....
    Par Blobette dans le forum C++
    Réponses: 7
    Dernier message: 07/12/2004, 13h55
  3. appel entre méthodes de meme classe
    Par frmaniako dans le forum C++
    Réponses: 8
    Dernier message: 10/09/2004, 22h55
  4. [Débutant] [JSP] Appel de méthode
    Par Crazyblinkgirl dans le forum Servlets/JSP
    Réponses: 10
    Dernier message: 10/09/2004, 11h10
  5. [Débutant] Héritage & appel de méthodes
    Par KooX dans le forum Langage
    Réponses: 4
    Dernier message: 11/05/2004, 23h37

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