Programmtion objet

scapulac Messages postés 15 Date d'inscription mercredi 11 juin 2003 Statut Membre Dernière intervention 14 septembre 2003 - 11 août 2003 à 14:04
scapulac Messages postés 15 Date d'inscription mercredi 11 juin 2003 Statut Membre Dernière intervention 14 septembre 2003 - 14 août 2003 à 11:13
Coucou !

J'ai un petit problème avec la programmtion objet.

J'ai une classe Foret qui gere un tableau d'Arbres.
J'ai une classe abstraite Arbres qui regroupe tout ce qui doit etre implementé par les classes Chene, Frene, etc..

Comment est ce qu'une instance de la classe Chene heritant de Arbre peut il avoir acces aux autres arbres ? Chaque année les arbres se remettront a jour. Mais je ne sais pas a priori la methode avec laquel il se remettra a jour.

Je ne peut donc pas decrire la fonction RAJ au sain de la classe Foret. La classe foret doit appler une fonction remise a jour dans la classe Arbre qui sera implementé différement dans Chene, Platane, ...

Peut etre voudra t'il compter le nombre de ces voisins, ou savoir de quel type ils sont, ou même autre chose encore....

Comment faire ??

Scapulac
Merci

7 réponses

cs_dragon Messages postés 2336 Date d'inscription samedi 14 juillet 2001 Statut Membre Dernière intervention 5 mai 2009 6
11 août 2003 à 16:46
fait une méthode abstract qui sera défini dasn le type d,arbre

comme ça tu vas pouvoir appelle n'importe quel arbre et lui demander la même méthode, puisque la class de base connais cette méthode, même si elle est défini plus haut dasn les class

regarde mon projet calculatrice basique et scientifique, c,est ce que j'ai fait, puisque la calcul scientifique extend la basique et certaine méthode sont commune et d'autre non
0
scapulac Messages postés 15 Date d'inscription mercredi 11 juin 2003 Statut Membre Dernière intervention 14 septembre 2003
12 août 2003 à 15:55
Salut Dragon.

J'ai l'impression que tu es le sauveur des programmeurs en Java ! ;)

Le dragon est sage et sa reponse est juste. J'ai donc mal du m'expliquer dans ma question.

Je rappel que la methode determine le nouvel etat de l'arbre.
J'ai (comme tu me le conseilles) definit cette methode dans la classe Arbre. Juste pour la precision elle n'est pas abstraite et elle renvoie meme valeur. Il n'y a donc par défaut pas d'evolution.

Les classes Chene, Frene (qui heritent de Arbres) peuvent bien evidement redefinir cette methode afin de simuler une evolution de la foret et rendre la programme un tant soit peu interessant.

La ou se pose mon problème est que pour definir son evolution un arbre aura besoin d'avoir des informations sur son environnement (les autres arbres present dans la meme foret en l'occurence).

Par exemple comment implenter dans la classe Frene une fonction qui compte le nombre de voisin de type Frene ?

On pourrait definir une fonction dans foret (la classe qui gere le tableau d'arbre) qui pour tout les arbres de type frene calcul le nombre de voisins et le transmet aux instances de frene.

Mais supposons que l'on veuille maintenant implanter un arbre de type platane. Les platanes ne veulles pasqu'il y ait plus de trois type de voisins différents (c'est un exemple je ne presume rien de la xenophobie des platanes). Il me faudra reecrire une fonction dans la classe Foret .

Or je preferait que tout se passe uniquement dans la classe Platane. plus precisement dans la redefinition de la fonction nouvelEtat de platane.

Tu l'as compris j'aimerais mettre Arbre, Foret dans une bibilotheque et ne plus y toucher.

voila
Merci encore de ton aide.
et merci pour la remarque sur la randomisation des threads.

Scapulac
:)
0
cs_dragon Messages postés 2336 Date d'inscription samedi 14 juillet 2001 Statut Membre Dernière intervention 5 mai 2009 6
12 août 2003 à 17:14
tu pourrais mettre tout tes arbres dans une interface
et créé une méthode qui permet de connaitre le type d'arbre que c'est

comme ça, seulement en faisant implement interfaceArbre qui possèderais seulement une class qui connais tout les arbres (c'est mon truc pour pouvoir rendre une interface dynamique ;-), regarde mon projet "jeux de shooting, je le fait pour stocker toute mes variables XML)

donc par la suite, une petite boucle et un tableau de compateur qui serait de grandeur variable

si le type d'arbre est connu, faire plus 1 à ce type, sinon grandir le tableau d'un éléments et y mettre un. par exemple utilise un arraylist ou un tableau qui aurait une grandeur maximale ou encore un tableau où sa grandeur serait égal au nombre de type d'arbre connu (puisque tu aurais mis une interface, tu peut emttre la constante là et elle sera connu parotut où l'interface est ajouté)

si j'ai bien compris, c,est comme ça que je ferais

en passant, merci pour le commentaire, ça fais du bien de savoir qu'on aide quelqu'un. En plus, ça parait pas, mais dasn tout le monde ici, c,est moi qui apprend le plus, vu que je connais pas mal tout les problème que les autres on eu, je fini par savoir commetn passé à côté, donc si moi j'ai le même problème, je sais comment le résoudre sans devoir chercher ;-)
0
scapulac Messages postés 15 Date d'inscription mercredi 11 juin 2003 Statut Membre Dernière intervention 14 septembre 2003
13 août 2003 à 14:12
-------------------------------
Réponse au message :
-------------------------------

> tu pourrais mettre tout tes arbres dans une interface
> et créé une méthode qui permet de connaitre le type d'arbre que c'est
>
> comme ça, seulement en faisant implement interfaceArbre qui possèderais seulement une class qui connais tout les arbres (c'est mon truc pour pouvoir rendre une interface dynamique ;-), regarde mon projet "jeux de shooting, je le fait pour stocker toute mes variables XML)
>
> donc par la suite, une petite boucle et un tableau de compateur qui serait de grandeur variable
>
> si le type d'arbre est connu, faire plus 1 à ce type, sinon grandir le tableau d'un éléments et y mettre un. par exemple utilise un arraylist ou un tableau qui aurait une grandeur maximale ou encore un tableau où sa grandeur serait égal au nombre de type d'arbre connu (puisque tu aurais mis une interface, tu peut emttre la constante là et elle sera connu parotut où l'interface est ajouté)
>
> si j'ai bien compris, c,est comme ça que je ferais
>
> en passant, merci pour le commentaire, ça fais du bien de savoir qu'on aide quelqu'un. En plus, ça parait pas, mais dasn tout le monde ici, c,est moi qui apprend le plus, vu que je connais pas mal tout les problème que les autres on eu, je fini par savoir commetn passé à côté, donc si moi j'ai le même problème, je sais comment le résoudre sans devoir chercher ;-)
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Salut Dragon.
> >
> > J'ai l'impression que tu es le sauveur des programmeurs en Java ! ;)
> >
> > Le dragon est sage et sa reponse est juste. J'ai donc mal du m'expliquer dans ma question.
> >
> > Je rappel que la methode determine le nouvel etat de l'arbre.
> > J'ai (comme tu me le conseilles) definit cette methode dans la classe Arbre. Juste pour la precision elle n'est pas abstraite et elle renvoie meme valeur. Il n'y a donc par défaut pas d'evolution.
> >
> > Les classes Chene, Frene (qui heritent de Arbres) peuvent bien evidement redefinir cette methode afin de simuler une evolution de la foret et rendre la programme un tant soit peu interessant.
> >
> > La ou se pose mon problème est que pour definir son evolution un arbre aura besoin d'avoir des informations sur son environnement (les autres arbres present dans la meme foret en l'occurence).
> >
> > Par exemple comment implenter dans la classe Frene une fonction qui compte le nombre de voisin de type Frene ?
> >
> > On pourrait definir une fonction dans foret (la classe qui gere le tableau d'arbre) qui pour tout les arbres de type frene calcul le nombre de voisins et le transmet aux instances de frene.
> >
> > Mais supposons que l'on veuille maintenant implanter un arbre de type platane. Les platanes ne veulles pasqu'il y ait plus de trois type de voisins différents (c'est un exemple je ne presume rien de la xenophobie des platanes). Il me faudra reecrire une fonction dans la classe Foret .
> >
> > Or je preferait que tout se passe uniquement dans la classe Platane. plus precisement dans la redefinition de la fonction nouvelEtat de platane.
> >
> > Tu l'as compris j'aimerais mettre Arbre, Foret dans une bibilotheque et ne plus y toucher.
> >
> > voila
> > Merci encore de ton aide.
> > et merci pour la remarque sur la randomisation des threads.
> >
> > Scapulac
> > :)
> >
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > fait une méthode abstract qui sera défini dasn le type d,arbre
> > >
> > > comme ça tu vas pouvoir appelle n'importe quel arbre et lui demander la même méthode, puisque la class de base connais cette méthode, même si elle est défini plus haut dasn les class
> > >
> > > regarde mon projet calculatrice basique et scientifique, c,est ce que j'ai fait, puisque la calcul scientifique extend la basique et certaine méthode sont commune et d'autre non
> > >
> > > -------------------------------
> > > Réponse au message :
> > > -------------------------------
> > >
> > > > Coucou !
> > > >
> > > > J'ai un petit problème avec la programmtion objet.
> > > >
> > > > J'ai une classe Foret qui gere un tableau d'Arbres.
> > > > J'ai une classe abstraite Arbres qui regroupe tout ce qui doit etre implementé par les classes Chene, Frene, etc..
> > > >
> > > > Comment est ce qu'une instance de la classe Chene heritant de Arbre peut il avoir acces aux autres arbres ? Chaque année les arbres se remettront a jour. Mais je ne sais pas a priori la methode avec laquel il se remettra a jour.
> > > >
> > > > Je ne peut donc pas decrire la fonction RAJ au sain de la classe Foret. La classe foret doit appler une fonction remise a jour dans la classe Arbre qui sera implementé différement dans Chene, Platane, ...
> > > >
> > > > Peut etre voudra t'il compter le nombre de ces voisins, ou savoir de quel type ils sont, ou même autre chose encore....
> > > >
> > > > Comment faire ??
> > > >
> > > > Scapulac
> > > > Merci
> > > >
> > >
> >
>
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
scapulac Messages postés 15 Date d'inscription mercredi 11 juin 2003 Statut Membre Dernière intervention 14 septembre 2003
13 août 2003 à 14:13
-------------------------------
Réponse au message :
-------------------------------

OK les interfaces... je regarde ce que c'est et puis je te tiens au courant. Merci.

> -------------------------------
> Réponse au message :
> -------------------------------
>
> > tu pourrais mettre tout tes arbres dans une interface
> > et créé une méthode qui permet de connaitre le type d'arbre que c'est
> >
> > comme ça, seulement en faisant implement interfaceArbre qui possèderais seulement une class qui connais tout les arbres (c'est mon truc pour pouvoir rendre une interface dynamique ;-), regarde mon projet "jeux de shooting, je le fait pour stocker toute mes variables XML)
> >
> > donc par la suite, une petite boucle et un tableau de compateur qui serait de grandeur variable
> >
> > si le type d'arbre est connu, faire plus 1 à ce type, sinon grandir le tableau d'un éléments et y mettre un. par exemple utilise un arraylist ou un tableau qui aurait une grandeur maximale ou encore un tableau où sa grandeur serait égal au nombre de type d'arbre connu (puisque tu aurais mis une interface, tu peut emttre la constante là et elle sera connu parotut où l'interface est ajouté)
> >
> > si j'ai bien compris, c,est comme ça que je ferais
> >
> > en passant, merci pour le commentaire, ça fais du bien de savoir qu'on aide quelqu'un. En plus, ça parait pas, mais dasn tout le monde ici, c,est moi qui apprend le plus, vu que je connais pas mal tout les problème que les autres on eu, je fini par savoir commetn passé à côté, donc si moi j'ai le même problème, je sais comment le résoudre sans devoir chercher ;-)
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > Salut Dragon.
> > >
> > > J'ai l'impression que tu es le sauveur des programmeurs en Java ! ;)
> > >
> > > Le dragon est sage et sa reponse est juste. J'ai donc mal du m'expliquer dans ma question.
> > >
> > > Je rappel que la methode determine le nouvel etat de l'arbre.
> > > J'ai (comme tu me le conseilles) definit cette methode dans la classe Arbre. Juste pour la precision elle n'est pas abstraite et elle renvoie meme valeur. Il n'y a donc par défaut pas d'evolution.
> > >
> > > Les classes Chene, Frene (qui heritent de Arbres) peuvent bien evidement redefinir cette methode afin de simuler une evolution de la foret et rendre la programme un tant soit peu interessant.
> > >
> > > La ou se pose mon problème est que pour definir son evolution un arbre aura besoin d'avoir des informations sur son environnement (les autres arbres present dans la meme foret en l'occurence).
> > >
> > > Par exemple comment implenter dans la classe Frene une fonction qui compte le nombre de voisin de type Frene ?
> > >
> > > On pourrait definir une fonction dans foret (la classe qui gere le tableau d'arbre) qui pour tout les arbres de type frene calcul le nombre de voisins et le transmet aux instances de frene.
> > >
> > > Mais supposons que l'on veuille maintenant implanter un arbre de type platane. Les platanes ne veulles pasqu'il y ait plus de trois type de voisins différents (c'est un exemple je ne presume rien de la xenophobie des platanes). Il me faudra reecrire une fonction dans la classe Foret .
> > >
> > > Or je preferait que tout se passe uniquement dans la classe Platane. plus precisement dans la redefinition de la fonction nouvelEtat de platane.
> > >
> > > Tu l'as compris j'aimerais mettre Arbre, Foret dans une bibilotheque et ne plus y toucher.
> > >
> > > voila
> > > Merci encore de ton aide.
> > > et merci pour la remarque sur la randomisation des threads.
> > >
> > > Scapulac
> > > :)
> > >
> > >
> > >
> > > -------------------------------
> > > Réponse au message :
> > > -------------------------------
> > >
> > > > fait une méthode abstract qui sera défini dasn le type d,arbre
> > > >
> > > > comme ça tu vas pouvoir appelle n'importe quel arbre et lui demander la même méthode, puisque la class de base connais cette méthode, même si elle est défini plus haut dasn les class
> > > >
> > > > regarde mon projet calculatrice basique et scientifique, c,est ce que j'ai fait, puisque la calcul scientifique extend la basique et certaine méthode sont commune et d'autre non
> > > >
> > > > -------------------------------
> > > > Réponse au message :
> > > > -------------------------------
> > > >
> > > > > Coucou !
> > > > >
> > > > > J'ai un petit problème avec la programmtion objet.
> > > > >
> > > > > J'ai une classe Foret qui gere un tableau d'Arbres.
> > > > > J'ai une classe abstraite Arbres qui regroupe tout ce qui doit etre implementé par les classes Chene, Frene, etc..
> > > > >
> > > > > Comment est ce qu'une instance de la classe Chene heritant de Arbre peut il avoir acces aux autres arbres ? Chaque année les arbres se remettront a jour. Mais je ne sais pas a priori la methode avec laquel il se remettra a jour.
> > > > >
> > > > > Je ne peut donc pas decrire la fonction RAJ au sain de la classe Foret. La classe foret doit appler une fonction remise a jour dans la classe Arbre qui sera implementé différement dans Chene, Platane, ...
> > > > >
> > > > > Peut etre voudra t'il compter le nombre de ces voisins, ou savoir de quel type ils sont, ou même autre chose encore....
> > > > >
> > > > > Comment faire ??
> > > > >
> > > > > Scapulac
> > > > > Merci
> > > > >
> > > >
> > >
> >
>
0
cs_dragon Messages postés 2336 Date d'inscription samedi 14 juillet 2001 Statut Membre Dernière intervention 5 mai 2009 6
13 août 2003 à 14:23
de rien
0
scapulac Messages postés 15 Date d'inscription mercredi 11 juin 2003 Statut Membre Dernière intervention 14 septembre 2003
14 août 2003 à 11:13
si si j'insiste ...
0
Rejoignez-nous