Encapsulation c'est quoi?

cs_Arkko Messages postés 192 Date d'inscription mercredi 26 décembre 2001 Statut Membre Dernière intervention 31 janvier 2007 - 1 juil. 2003 à 17:20
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 1 juil. 2003 à 17:29
Bonjour,
J'ai lu sur un site internet qu'on peut faire un moteur 3d avec DirectX et OpenGl avec l'encapsulation. Mais qu'est-ce que l'encapsulation? Si j'ai bien compris est-ce que cela ressemble au polymorphisme ? Voici un exemple de ce que jai compris et merci de me corriger si ce n'est pas ça l'encapsulation...

class Engine {
public:
virtual int Render() = 0;
};

class DirectX : public Engine {
int Render() {
// Le code pour faire le Render en directXz
return 1;
}
};

class OpenGl : public Engine {
int Render() {
// Le code pour faire le Render avec OpenGl
return 1;
}
};

int Main() {
DirectX varDirectX;
OpenGl varOpenGl;
Render (&varDirectX); //Code d'appel de Render pour directX
Render (&varOpenGl); //Code d'appel de Render pour OpenGl
return 1;
}

Est ce bien cela l'encapsulation ??? Si oui est ce qu'il faut envoyer les variables par référence ?

Merci de votre aide
@+ Alexandre

1 réponse

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
1 juil. 2003 à 17:29
oui encapsuler est planquer les choses dans des classes mais fais gaffe que en graphique la vitesse est un facteur primordial et de ce fait il faudra faire par moment une entorse aux regles de la POO.
Le passage de params dependra de ce qu'il faudra passer et aussi le nombre de params. Cree une structure et passe un pointeur dessus si tu as beaucoup de parametres.
BruNews, ciao...
0
Rejoignez-nous