anipassion.com

Projet2 Class Humain

Voir le sujet précédent Voir le sujet suivant Aller en bas

Projet2 Class Humain

Message  didi le Ven 27 Mar 2009, 22:20

bonjour à tous

j'ai une problème dans le class humain
voici mon code

la class humain
Code:

public class Humain extends Joueur      {
        private NordSud nom;

        public Humain(NordSud unNom)    {
                nom = unNom;
        }
        public Coup proposerCoup (EtatPartie etat)      {

        }
}

quand je le complile
il me montre cet érreur message

Code:

Humain.java:8: cannot find symbol
 : constructor Joueur()
location: class gxxxxx.projet2.Joueur
   public Humain(NordSud unNom)   {
                                  ^

et ma Classe Joueur
Code:

public abstract class Joueur    {
        private NordSud nom;

        public Joueur (NordSud unNom)  {
                nom = unNom;
        }

        public NordSud getNom() {
                return nom;
        }

        public abstract Coup proposerCoup(EtatPartie etat);

}

je ne comprend pas il e trouve pas de constructer de la class Joueur ?
pourtant j'ai bien importé la package
import gxxxxx.projet2 *.

merci d'avance (qui me repond Laughing )

didi

Nombre de messages : 215
Prénom : Dinesh
Statut : Smile
Date d'inscription : 21/01/2009

Revenir en haut Aller en bas

Re: Projet2 Class Humain

Message  Anthoblack le Ven 27 Mar 2009, 22:34

Le message demande un constructeur sans paramètre de joueur.

et je me demande si :

Code:
public Humain(NordSud unNom)
{
          super(unNom);
}

ne marcherait pas ?

A quoi sert d'avoir un nom dans joueur (avec getNom) et d'en avoir un dans Humain qui est un joueur... Enfin j'dis ça sans connaître tes objectifs Wink

Anthoblack

Nombre de messages : 764
Age : 28
Prénom : Anthony
Statut : Ex-étudiant
Localisation : Bruxelles
Date d'inscription : 11/03/2008

Revenir en haut Aller en bas

Re: Projet2 Class Humain

Message  Invité le Ven 27 Mar 2009, 22:36

Mmmmm
Je sens un import oublié dans ta classe Humain.
Rajoute-ça "import gxxxxx.p2.gyges.* ;" on sait jamais, ça fonctionnera peut-être

Invité
Invité


Revenir en haut Aller en bas

Re: Projet2 Class Humain

Message  didi le Ven 27 Mar 2009, 22:54

ça fonctionne ....
merci Very Happy

didi

Nombre de messages : 215
Prénom : Dinesh
Statut : Smile
Date d'inscription : 21/01/2009

Revenir en haut Aller en bas

Re: Projet2 Class Humain

Message  pbt le Ven 27 Mar 2009, 23:51

Pour rappel, lorsque tu écris un constructeur avec un ou plusieurs paramètres, le constructeur par défaut (celui sans paramètre) n'est plu. Pour rappel également lorsque tu écris le constructeur d'une classe enfant, celui-ci fait un appel implicite au constructeur sans paramètre de la classe parent ... qui dans ton cas n'existe plus.

Tu devrais donc faire un appel implicite au constructeur à un paramètre de la classe parent (à savoir Joueur) dans ta classe enfant (à savoir Humain).

_________________
smartq.namok.be · faq ·  · IRC / irc.freenode.net #esi · blog.namok.be
style #pbt {heigth:189cm; weight:79kg; eye-color:#524000; hair:very short; dead pixels: some; }

pbt
Admin

Nombre de messages : 4862
Age : 45
Prénom : Pierre
Statut : prof
Localisation : La cité des géants
Date d'inscription : 24/11/2005

http://esi.namok.be

Revenir en haut Aller en bas

Re: Projet2 Class Humain

Message  Anthoblack le Sam 28 Mar 2009, 10:56

PbT a écrit:...
Tu devrais donc faire un appel implicite au constructeur à un paramètre de la classe parent (à savoir Joueur) dans ta classe enfant (à savoir Humain).
Explicite plutôt non ?

Didi, quelle était ton erreur finalement ? L'import ? Autre chose ? Wink

Anthoblack

Nombre de messages : 764
Age : 28
Prénom : Anthony
Statut : Ex-étudiant
Localisation : Bruxelles
Date d'inscription : 11/03/2008

Revenir en haut Aller en bas

Re: Projet2 Class Humain

Message  didi le Sam 28 Mar 2009, 15:07

je n'ai pas de problème avec le package ..

c'est pas comme ça ???
Code:


  public Joueur(NordSud unNom)    {
                this(unNom);


didi

Nombre de messages : 215
Prénom : Dinesh
Statut : Smile
Date d'inscription : 21/01/2009

Revenir en haut Aller en bas

Re: Projet2 Class Humain

Message  Dj x-fuse le Dim 29 Mar 2009, 12:20

La fonction "this" renvoie vers une variable locale. Dans notre cas, nous ne sommes pas en local (étant donné qu'on demande une fonction d'une autre classe), du coup, il faudrait appeler la fonction de l'autre classe. Seulement, quand on parle d'héritage, on sous-entend que lorsqu'on écrit une classe enfant (cf les slides), on à la possibilité d'utiliser les fonctions de la classe parent via "super()".

Pour répondre à notre bon Newu_, ce n'est pas une erreur d'import ou de package, étant donné que même sans package, le compilateur reconnais les classes qui se trouvent dans le même dossier, et ce, par défaut.

@PBT : J'ai trouvé mon bonheur pour les tests unitaires en PHP ;-) http://www.phpunit.de/
Pour la classe Plateau, je rencontre juste un petit problème pour créer un array() défini par une taille constante. Je soulèverais probablement ce problème en labo Java.

Dj x-fuse

Nombre de messages : 658
Age : 27
Prénom : Jonathan
Statut : 4ième sécu
Localisation : IRL
Date d'inscription : 18/10/2008

Revenir en haut Aller en bas

Re: Projet2 Class Humain

Message  nvs le Dim 29 Mar 2009, 22:47

Dj x-fuse a écrit:@PBT : J'ai trouvé mon bonheur pour les tests unitaires en PHP ;-) http://www.phpunit.de/
ceci pourrait t'aider...






pale

_________________

nvs

Nombre de messages : 5238
Age : 44
Prénom : Nicolas
Statut : prof
Localisation : bxl
Date d'inscription : 24/11/2005

http://nvansteenkiste.googlepages.com

Revenir en haut Aller en bas

Re: Projet2 Class Humain

Message  Dj x-fuse le Dim 29 Mar 2009, 23:48

nvs a écrit:
Dj x-fuse a écrit:@PBT : J'ai trouvé mon bonheur pour les tests unitaires en PHP ;-) http://www.phpunit.de/
ceci pourrait t'aider...

Merci pour l'info Wink

Dj x-fuse

Nombre de messages : 658
Age : 27
Prénom : Jonathan
Statut : 4ième sécu
Localisation : IRL
Date d'inscription : 18/10/2008

Revenir en haut Aller en bas

Re: Projet2 Class Humain

Message  Contenu sponsorisé Aujourd'hui à 14:33


Contenu sponsorisé


Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum