AccueilAccueil  RechercherRechercher  S'enregistrerS'enregistrer  Connexion  

 

 Fourmilière: arraylist et héritage en java

Aller en bas 
AuteurMessage
zebdal
Utilisateur confirmé: Rang *****
zebdal

Messages : 2874
Localisation : Chez Vanilla
Projet Actuel : Shrapnel
Kanon
Sengoku Rance Online
Vanilla H

Fourmilière: arraylist et héritage en java Empty
MessageSujet: Fourmilière: arraylist et héritage en java   Fourmilière: arraylist et héritage en java EmptyLun 24 Nov 2008 - 12:55

je travaille sur un programme en java censé créer une fourmilière.
LarveMale dérive de la classe Male dérivant de la classe Fourmi, pareil pour LarveReine et pour LarveOuvriere.

Citation :
import java.util.ArrayList;

public class Fourmiliere
{
private int nb, ind;
ind = 1;
ArrayList<Fourmi> tribu = new ArrayList<Fourmi>();
nb = (Math.random() * 20 ) + 1;

public void naissance()
{
if (nb==1 || nb==2)
Fourmi f = new LarveMale(ind, 0);
else if (nb==3)
Fourmi f = new LarveReine(ind, 0);
else
Fourmi f = new LarveOuvriere(ind, 0);

ind++;
tribu.add(f);
}

}

voici le constructeur de la classe fourmi:

Citation :
Fourmi(int ident, int age)
{
this.ident=ident;
this.age=age;
}

tout ce qui est en rouge c'est les erreurs.
je pete un cable.

_________________
Fourmilière: arraylist et héritage en java Testmf
L'IRC du CBNA
NE PAS CLIQUER:
Spoiler:
 
Revenir en haut Aller en bas
http://zebdal.free.fr
zebdal
Utilisateur confirmé: Rang *****
zebdal

Messages : 2874
Localisation : Chez Vanilla
Projet Actuel : Shrapnel
Kanon
Sengoku Rance Online
Vanilla H

Fourmilière: arraylist et héritage en java Empty
MessageSujet: Re: Fourmilière: arraylist et héritage en java   Fourmilière: arraylist et héritage en java EmptyLun 24 Nov 2008 - 16:43

en fait je pense avoir trouvé l'erreur, la classe Fourmi est en abstract et ca ne veut pas repérer une classe abstract.

_________________
Fourmilière: arraylist et héritage en java Testmf
L'IRC du CBNA
NE PAS CLIQUER:
Spoiler:
 
Revenir en haut Aller en bas
http://zebdal.free.fr
master47
Utilisateur confirmé: Rang *****
master47

Messages : 2368
Projet Actuel :
-------------------
> PacWars
> The Perfect Pattern Studio

Fourmilière: arraylist et héritage en java Empty
MessageSujet: Re: Fourmilière: arraylist et héritage en java   Fourmilière: arraylist et héritage en java EmptyLun 24 Nov 2008 - 17:25

Tiens nous au courant Wink
Revenir en haut Aller en bas
http://theperfectpattern.tumblr.com
zebdal
Utilisateur confirmé: Rang *****
zebdal

Messages : 2874
Localisation : Chez Vanilla
Projet Actuel : Shrapnel
Kanon
Sengoku Rance Online
Vanilla H

Fourmilière: arraylist et héritage en java Empty
MessageSujet: Re: Fourmilière: arraylist et héritage en java   Fourmilière: arraylist et héritage en java EmptyLun 24 Nov 2008 - 17:56

un pote m'a dit qu'à la place de mettre:
Citation :
Fourmi f = new LarveMale(ind, 0);
il fallait que je mette:
Citation :
LarveMale f = new LarveMale(ind, 0);
syntaxiquement, mon instruction est correcte mais vu que Fourmi est en abstract (à cause de méthodes qui sont en abstract dans celles ci), je suis obligé de dire que c'est une LarveMale (mais je pourrais quand même utiliser les méthodes de la classe Fourmi).

par contre, pour l'arraylist, je ne sais pas comment faire car c'est bien une arraylist de fourmis que je veux faire, pas de larves males, reines ou ouvrières. et je suis obligé de laisser Fourmi en abstract.
quelqu'un a une solution?

_________________
Fourmilière: arraylist et héritage en java Testmf
L'IRC du CBNA
NE PAS CLIQUER:
Spoiler:
 
Revenir en haut Aller en bas
http://zebdal.free.fr
master47
Utilisateur confirmé: Rang *****
master47

Messages : 2368
Projet Actuel :
-------------------
> PacWars
> The Perfect Pattern Studio

Fourmilière: arraylist et héritage en java Empty
MessageSujet: Re: Fourmilière: arraylist et héritage en java   Fourmilière: arraylist et héritage en java EmptyLun 24 Nov 2008 - 18:23

Ton erreur était logique, on ne crée pas une pomme en la déclarant poire, c'est un peu comme si tu faisait :

Citation :

List<int> = new bool();

Java l'interprête de la même façon
Revenir en haut Aller en bas
http://theperfectpattern.tumblr.com
zebdal
Utilisateur confirmé: Rang *****
zebdal

Messages : 2874
Localisation : Chez Vanilla
Projet Actuel : Shrapnel
Kanon
Sengoku Rance Online
Vanilla H

Fourmilière: arraylist et héritage en java Empty
MessageSujet: Re: Fourmilière: arraylist et héritage en java   Fourmilière: arraylist et héritage en java EmptyLun 24 Nov 2008 - 19:10

Citation :
Ton erreur était logique, on ne crée pas une pomme en la déclarant poire

non.
A a = new B est autorisé à condition que B dérive de A (ce qui était bien le cas)
le fait que ca ne marche pas venait du fait que A était défini en abstract, si elle n'était pas défini en abstract mais en public, alors il n'y aurait pas eu de problèmes sur cette instruction.


mon problème vient maintenant de:
Citation :
ArrayList<Fourmi> tribu = new ArrayList<Fourmi>();
pour la même raison que tout à l'heure, je ne peux pas utiliser la classe Fourmi car elle est en abstract. donc je dois trouver un subterfuge pour pouvoir faire quand même une arraylist de fourmis sans qu'il me dire "nan, ta classe est en abstract".
je pensais faire une classe Insecte en public avec Fourmi qui hériterait de Insecte, afin de faire une arraylist sur Insecte qui lui est bien public.
à essayer...

EDIT: finalement j'avais bien raison, il fallait faire Fourmi f= new LarveMale; (ou autre larve) c'était ca qu'il fallait faire, sauf qu'il fallait l'écrire comme ca:
Citation :
Fourmi f;
if (blabla)
f=new larvemale(blabla);
else if (blabla)
f=new larvereine(blabla);
else
f=new larveouvriere(blabla);

et pour l'arraylist, j'avais raison aussi.

le problème venait du fait que je n'avais pas fait de constructeur et que j'utilisais mal mes variables entières.

maintenant, j'ai pu finir mon programme, il est excellent.
je le publierai demain si j'y pense.

_________________
Fourmilière: arraylist et héritage en java Testmf
L'IRC du CBNA
NE PAS CLIQUER:
Spoiler:
 
Revenir en haut Aller en bas
http://zebdal.free.fr
Contenu sponsorisé




Fourmilière: arraylist et héritage en java Empty
MessageSujet: Re: Fourmilière: arraylist et héritage en java   Fourmilière: arraylist et héritage en java Empty

Revenir en haut Aller en bas
 
Fourmilière: arraylist et héritage en java
Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum Le CBNA :: Développement :: Programmation-
Sauter vers: