Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Heritage ou pas ?

11 réponses
Avatar
Fabien LE LEZ
Bonjour,

J'essaie de faire un programme qui fait une capture d'écran sur un
poste, et affiche cette capture sur un autre poste (un peu comme VNC).

J'ai donc une classe Bitmap, qui sert à deux choses :
- sur le premier poste, elle effectue la capture d'écran, et
envoie les données
- sur le second poste, elle récupère les données, puis affiche
l'image à l'écran

class Bitmap
{
public :

// fonctions générales
Bitmap();
int NbOctetsParLigne();

// fonctions spécifiques au 1er poste
void CaptureEcran (Ecran*);
void EnvoieDonnees (SOCKET);

// fonctions spécifiques au 2è poste
void RecupereDonnees (SOCKET);
void AfficheBitmap (Ecran*);

private:
// Données privées, communes
};

Et là j'hésite : dois-je laisser ma classe comme ça, ou serait-il
mieux que je fasse une classe de base, plus deux classes dérivées
Bitmap_reception (contenant "RecupereDonnees()" et "AfficheBitmap()")
et Bitmap_envoi (contenant "CaptureEcran()" et "EnvoieDonnees()") ?
Ça empêcherait qu'on appelle EnvoieDonnees() sur un objet prévu pour
la réception, mais le jeu en vaut-il la chandelle ?

Merci d'avance pour vos avis...

--
http://www.giromini.org/usenet-fr/repondre.html

1 réponse

1 2
Avatar
Fabien LE LEZ
On Tue, 7 Oct 2003 14:22:07 +0200, "Frédéri MIAILLE"
wrote:

Oui car l'utilisateur de ta classe lui est une personne en laquelle tu ne
peux pas avoir confiance.


Etant donné que l'utilisateur risque fort d'être moi-même, j'abonde
dans ton sens ;-)

En fait, après un début de mûre réflexion, il me semble que j'ai deux
choix :
- soit appeler les fonctions membres dans n'importe quel ordre
laisse la classe (et l'application) dans un état stable ;
- soit je sépare effectivement le code en plusieurs classes.

J'aime assez la première solution : comme le principe de cette classe
est de mettre des données sous une forme et de les retirer sous une
autre forme, peu importe finalement le type de données qu'on y met ou
qu'on en retire ; la seule règle est que si on n'a jamais rien mis
dans l'objet, on ne peut en retirer qu'un bitmap vide.

Je continue mes cogitations en faisant la vaisselle : je pense donc
j'essuie...

--
http://www.giromini.org/usenet-fr/repondre.html

1 2