C++Talk.NET Forum Index C++Talk.NET
C++ language newsgroups
 
Archives   FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Dépendance de classes

 
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (French)
View previous topic :: View next topic  
Author Message
Miguel
Guest





PostPosted: Sun Jan 09, 2005 2:54 pm    Post subject: Dépendance de classes Reply with quote



Bonjour,
ma question n'a rien à voir directement avec le C++, mais plutôt avec la
programmation objet, je pense cependant ne pas être trop HS et que je
trouverai mes réponses ici.

Voila, je compte faire un petit jeu (un Puissance4-like) en C++.
Je compte utiliser 2 classes principales:
- une classe Game qui contient tout ce qui est lié au jeu pur et dur
(matrice, fonction de vérification pour le gagnant...)
- une classe d'affichage qui serait ds un premier temps juste en console
pour le débogage et les tests, et dans un second temps plus élaboré, avec
une vraie interface graphique.

Le problème, c'est que j'ai du mal à établir la relation entre ces 2
classes, je ne sais pas laquelle utilise l'autre (en fait, j'ai l'impression
que ca dépend des fois), et donc par conséquent je ne sais pas si je dois
mettre une classe affichage comme membre de Game ou l'inverse.
J'aimerais donc que vous me donniez votre avis sur la façon de voir les
choses, et savoir d'il y a une pratique courante ou si la dépendance dépend
des cas.
Merci d'avance
Miguel


Back to top
Loïc Joly
Guest





PostPosted: Sun Jan 09, 2005 4:34 pm    Post subject: Re: Dépendance de classes Reply with quote



Miguel wrote:
Quote:
Bonjour,
ma question n'a rien à voir directement avec le C++, mais plutôt avec la
programmation objet, je pense cependant ne pas être trop HS et que je
trouverai mes réponses ici.

As-tu essayé dans fr.comp.objet ?

--
Loïc


Back to top
drkm
Guest





PostPosted: Sun Jan 09, 2005 4:48 pm    Post subject: Re: Dépendance de classes Reply with quote



"Miguel" <mickael.i (AT) free (DOT) fr> writes:

Quote:
Je compte utiliser 2 classes principales:
- une classe Game
- une classe d'affichage

C'est un sujet tout désigné pour f.c.objet (qui y a d'ailleurs été
traité plus d'une fois).

--drkm

Back to top
Alexandre
Guest





PostPosted: Mon Jan 10, 2005 7:47 pm    Post subject: Re: Dépendance de classes Reply with quote

bonjour,

Quote:
Bonjour,
ma question n'a rien à voir directement avec le C++, mais plutôt avec la
programmation objet, je pense cependant ne pas être trop HS et que je
trouverai mes réponses ici.

un peu HS quand même, mais bon, moi je ne lis jamais fr.(...).objet alors
;-)

Quote:

Voila, je compte faire un petit jeu (un Puissance4-like) en C++.
Je compte utiliser 2 classes principales:
- une classe Game qui contient tout ce qui est lié au jeu pur et dur
(matrice, fonction de vérification pour le gagnant...)
- une classe d'affichage qui serait ds un premier temps juste en console
pour le débogage et les tests, et dans un second temps plus élaboré, avec
une vraie interface graphique.

je te conseille une classe abstraite pour l'affichage (ie une interface) ce
qui t'éviterait des grosses modifs dans l'autre classe pour passer d'une
console à une interface graph.

Quote:

Le problème, c'est que j'ai du mal à établir la relation entre ces 2
classes, je ne sais pas laquelle utilise l'autre (en fait, j'ai
l'impression que ca dépend des fois), et donc par conséquent je ne sais
pas si je dois mettre une classe affichage comme membre de Game ou
l'inverse.
J'aimerais donc que vous me donniez votre avis sur la façon de voir les
choses, et savoir d'il y a une pratique courante ou si la dépendance
dépend des cas.

dans ce cas : la classe Game utilise la classe Affiche. Surtout si Affiche
est une interface (donc en fait Game utilise un pointeur sur Affiche). C'est
déjà une question de logique : passe de l'abstrait au concret, pas
l'inverse. D'abord parce que ta classe Affiche pourrait être utilisée par
d'autres objets, ensuite parce que c'est mieux ;-)

par ex :
class Game
{
Affiche* pEcran;
void AffichePion(){pEcran->AffichePion();}
};

struct Affiche
{
virtual void AffichePion()=0;
};

class AfficheVCL:public Affiche // exemple en utilisant la VCL sous C++
builder
{
TCanvas *Canvas;
public:
AfficheVCL(TCanvas* C):Canvas(C){}
void AffichePion(){Canvas->Ellipse(10,10,25,30);}
};

normalement, dans Game, tu n'utilises que les méthodes d'Affiche, et donc à
part la ligne où tu fais l'initialisation de ton "écran", le reste du code
ne dépend pas de ton interface (et donc de ta plate-forme entre autres).




Back to top
kanze@gabi-soft.fr
Guest





PostPosted: Tue Jan 11, 2005 7:55 am    Post subject: Re: Dépendance de classes Reply with quote

Alexandre wrote:

Quote:
ma question n'a rien à voir directement avec le C++, mais
plutôt avec la programmation objet, je pense cependant ne
pas être trop HS et que je trouverai mes réponses ici.

un peu HS quand même, mais bon, moi je ne lis jamais
fr.(...).objet alors ;-)

Voila, je compte faire un petit jeu (un Puissance4-like) en
C++. Je compte utiliser 2 classes principales:
- une classe Game qui contient tout ce qui est lié au jeu
pur et dur (matrice, fonction de vérification pour le
gagnant...)
- une classe d'affichage qui serait ds un premier temps
juste en console pour le débogage et les tests, et dans un
second temps plus élaboré, avec une vraie interface
graphique.

je te conseille une classe abstraite pour l'affichage (ie une
interface) ce qui t'éviterait des grosses modifs dans l'autre
classe pour passer d'une console à une interface graph.

En fait, il se pose une question classique, à laquelle la
réponse classique est MVC. En gros, il définit un ensemble
model-view dans lequel le modèle représente la position dans le
jeu. Ensuite, il se sert du modèle listener pour que le modèle
soit informé des changements dans le jeu.

Quote:
Le problème, c'est que j'ai du mal à établir la relation
entre ces 2 classes, je ne sais pas laquelle utilise l'autre
(en fait, j'ai l'impression que ca dépend des fois), et donc
par conséquent je ne sais pas si je dois mettre une classe
affichage comme membre de Game ou l'inverse.
J'aimerais donc que vous me donniez votre avis sur la façon
de voir les choses, et savoir d'il y a une pratique courante
ou si la dépendance dépend des cas.

dans ce cas : la classe Game utilise la classe Affiche.

Je ne crois pas. La classe Game supporte des listeners. Le
modèle dans l'affichage (qui aurait besion de bien plus qu'une
seule classe) s'inscrit comme listener. La classe Game ne
connaît rien de l'affichage ; même pas qu'on l'affiche.

--
James Kanze GABI Software http://www.gabi-soft.fr
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34


Back to top
Display posts from previous:   
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (French) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2006 phpBB Group
SEO toolkit © 2004-2006 webmedic.