RECHERCHER :
COMMUNAUTE MP
Identifiez vous ...
Devenir Membre
J'ai oublié mon MDP
DOMAINE MP
Bavardages
Langages Généraux
Langages Web
Langages DotNet
Autres langages
Dev. Jeux Video
Sécurité
Sys. Exploitation
Graphismes
Logiciels
Réseaux
Bases de données
Méthodologies
Emplois High-tech
Aide juridique
Articles juridiques
FORUM
Index des forums
Ajouter un sujet
Rechercher sujet
Contact Responsable
Devenir modérateur
CHAT MP IRC
Votre pseudo ...
Srv: irc.moteurprog.com
Chan: #MoteurProg
PARTICIPER
Plus de 3500 emplois.
Rechercher un job
Déposez votre CV
Emplois High-tech

Visiteur MP

 Conception d'un agenda

Forum : POO
Sous Catégorie : Aucune
Type du sujet : Sujet Normale
FAQ : FAQ POO

SUIVI DES SUJETS PAR MAIL

SUIVI PAR MAIL INACTIF

RESOLUTION DU SUJET SUJET NON RESOLU
BLOQUAGE DU SUJET SUJET ACTIF
APPARTENANCE A LA FAQ N'APPARTIENT PAS A LA FAQ


PAGES : [1] [2] [3] [4] [5] [6]

POSTER UN NOUVEAU SUJET REPONDRE A CE SUJET

FORUM POO

PREMIERE PAGE

PAGE PRECEDENTE

Page précedente

Page suivante

PAGE SUIVANTE

DERNIERE PAGE
Alp
Superviseur :
- Système d'ex.
- Méthodologie.
- C & C++
Modérateur :
- Bavardages
Chef de projet(s) :
- My SDL Lib

Avatar de Alp
Inscrit : 24/06/2004
Messages : 2571
Message
#91523
Posté le 20/03/06 à 18:56
Salut
Comme je trouve que c'est un sujet hyper intéressant, je le relance!
Alors, en C++, pour pac, il y a typeid en effet, dans je ne sais plus quel header, mais ça prend trop de mémoire ... il ne faut l'utiliser qu'en dernier recours.
Sinon, en général, si l'on doit faire quelque chose du genre si c'est tel animal, appeler telle fonction toussa, hé bien c'est qu'il y a un problème de conception, sauf exceptions ... Hé oui, pensez au polymorphisme ...
C'est à dire que chaque animal ait une fonction du même signature qui lui permette de se déplacer...
Dans le pire des cas, il y a dynamic_cast, un petit peu couteux en mémoire hélas, mais c'est déjà çà.
Mais la solution de if machin is CAnimal ou bien if(machin instanceof(CAnimal)) .... je trouve ça moyen, car pour chaque nouvelle class, il faudra retoucher au code ...
ENfin en C++ grâce aux templates on peut toujours faire quelque chose de pas trop mal ... bien que résoudre ça par la hiérarchie de classes est mieux.
__________________________
Be C++
Mon Blog (C++, Intelligence Artificielle, Prolog)

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Publicité
Inscrit : X
Messages : X
Message
#Aucun

HAUT DE PAGE

  

pac
Co-Administrateur
Superviseur :
- Méthodologie.
Modérateur :
- Delphi
Chef de projet(s) :
- Jeu Awalé
- EcoSystem
- MySudoku

Avatar de pac
Inscrit : 08/04/2004
Messages : 6570
Message
#91538
Posté le 20/03/06 à 19:58
[quote]Hé oui, pensez au polymorphisme ...

C'est à dire que chaque animal ait une fonction du même signature qui lui permette de se déplacer...[/quote]
Alp, en C++, imagines tu as une classe mère Animal, avec des classes filles, ça m'em...rait de devoir faire une méthode voler virtuelle pour Animal et devoir la surcharger dans les Classes poisson et oiseau, idem pour une méthode nager, et devoir la surcharger pour des classes d'animaux qui ne nagent pas.

Il est bien de ne déclarer une méthode qu'au niveau de la classe ou on peut s'en servir pour ne pas avoir à déclarer trop de méthodes qui ne servent à rien dans des classes mères qui pourraient devenir trop lourdes assez rapidement.

[quote]Mais la solution de if machin is CAnimal ou bien if(machin instanceof(CAnimal)) .... je trouve ça moyen, car pour chaque nouvelle class, il faudra retoucher au code ...[/quote]
Non si on a bien pensé nos classes et bien codé. :8):
__________________________
Lisez la [url=http://www.forum.moteurprog.com/bavardages/forum-msg-22857-1.htm]charte[/url], pensez à regarder la [url=http://www.forum.moteurprog.com/FAQ/FAQ.php]FAQ[/url], les [url=http://www.moteurprog.com/Tutoriaux/]tutoriaux[/url], l'[url=http://www.moteurprog.com/Annuaire/]annuaire[/url] et faites une [url=http://www.forum.moteurprog.com/Rechercher/Index.php]recherche[/url] dans les forums.
N'oubliez pas le Tag [b][Résolu][/b][img]http://www.ressources.moteurprog.com//Ressources/Images/Forum/Resolu.gif[/img].

Initiez-vous à Delphi avec [url=http://www.turboexplorer.com/delphi]Turbo Delphi Explorer[/url], au C ou au C++ avec [url=http://www.codeblocks.org]Code::Blocks[/url] et C# avec [url=http://www.microsoft.com/france/msdn/vstudio/express/vcsharp/telechargez.mspx]Visual C# 2005 Express[/url].

ERREUR BBCODE SUR CE MESSAGE :
- La valeur de la balise "quote" n'est pas correcte !

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE ALLER VOIR SON SITE

Alp
Superviseur :
- Système d'ex.
- Méthodologie.
- C & C++
Modérateur :
- Bavardages
Chef de projet(s) :
- My SDL Lib

Avatar de Alp
Inscrit : 24/06/2004
Messages : 2571
Message
#91540
Posté le 20/03/06 à 20:11
Bah, si, dans tous les cas tu devras rajouter quelque chose pour chaque class que tu voudras prendre en compte ...
Pour le polymorphisme j'parlais pas d'une méthode voler ou nager mais d'une méthode "bouger", ... dans la class Oiseau, tu surcharges en appelant dans bouger la méthode voler ... dans poisson la méthode nager, etc ...
Au pire, tu règles ça par un polymorphisme templates, si tu te soucies de ta mémoire.
Mais en tout cas, les if machin is Oiseau ... c'est pas trop la meilleure solution car niveau mémoire ça doit prendre un max ...
__________________________
Be C++
Mon Blog (C++, Intelligence Artificielle, Prolog)

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

pac
Co-Administrateur
Superviseur :
- Méthodologie.
Modérateur :
- Delphi
Chef de projet(s) :
- Jeu Awalé
- EcoSystem
- MySudoku

Avatar de pac
Inscrit : 08/04/2004
Messages : 6570
Message
#91546
Posté le 20/03/06 à 20:23
Tu es le plus fort, tu as raison, on clôt le débat.
__________________________
Lisez la charte, pensez à regarder la FAQ, les tutoriaux, l'annuaire et faites une recherche dans les forums.
N'oubliez pas le Tag [Résolu]Image.

Initiez-vous à Delphi avec Turbo Delphi Explorer, au C ou au C++ avec Code::Blocks et C# avec Visual C# 2005 Express.

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE ALLER VOIR SON SITE

Alp
Superviseur :
- Système d'ex.
- Méthodologie.
- C & C++
Modérateur :
- Bavardages
Chef de projet(s) :
- My SDL Lib

Avatar de Alp
Inscrit : 24/06/2004
Messages : 2571
Message
#91557
Posté le 20/03/06 à 21:05
Pourquoi cette réaction?
__________________________
Be C++
Mon Blog (C++, Intelligence Artificielle, Prolog)

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 
POSTER UN NOUVEAU SUJET REPONDRE A CE SUJET

PREMIERE PAGE

PAGE PRECEDENTE Page précédente

Page suivante

PAGE SUIVANTE DERNIERE PAGE

FORUM POO



    PAGES : [1] [2] [3] [4] [5] [6]



.: Site Web développé par Julien Pichot et l'équipe MPWG avec www.evolvia-web.com :.