La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Programmation Initiation Aux Langages C et C++ (3) Bruno Permanne 2006.

Présentations similaires


Présentation au sujet: "Programmation Initiation Aux Langages C et C++ (3) Bruno Permanne 2006."— Transcription de la présentation:

1 Programmation Initiation Aux Langages C et C++ (3) Bruno Permanne 2006

2 Programmation Sommaire Bruno Permanne 2006 Programmation Orientée Objet Programmation Orientée Objet sans objet Programmation Orientée Objet avec objet Programmation Evènementielle

3 Programmation Orientée Objet Introduction Retour sommaire Bruno Permanne 2006 Un objet est une sorte de grande structure Il regroupe les données et les traitements relatifs aux différents aspects d'une même fonctionnalité.

4 Programmation Orientée Objet Exemple Retour sommaire Bruno Permanne 2006 Définissons un objet très simple nommé Tirelire Cet objet sera défini par: Le nombre de pièces qu'il peut contenir (donnée de construction) Le fait qu'on puisse ajouter des pièces Le fait qu'on doive le casser pour récupérer les pièces Tirelire NbPieces Taille AjouterPieces CasserTirelire ConstruireTirelire

5 Programmation Orientée Objet Exemple, programmation classique entête Retour sommaire Bruno Permanne 2006 #include using namespace std; void NouvelleTirelire(int); void AjouterPieces(int); void CasserTirelire(void); int Taille, NbPieces ;

6 Programmation Orientée Objet Exemple, programmation classique, fonctions Retour sommaire Bruno Permanne 2006 void NouvelleTirelire(int t) { Taille=t; NbPieces=0; cout<<"Nouvelle tirelire vide"<

7 Programmation Orientée Objet Exemple, programmation classique, fonctions Retour sommaire Bruno Permanne 2006 int main(int argc, char *argv[]) { NouvelleTirelire(50); AjouterPieces(5); AjouterPieces(10); CasserTirelire(); system("PAUSE"); return EXIT_SUCCESS; }

8 Programmation Orientée Objet Exemple, programmation classique, exécution Retour sommaire Bruno Permanne 2006

9 Programmation Orientée Objet Exemple, programmation classique, critique Retour sommaire Bruno Permanne 2006 Cette approche n'est pas encapsulée Car on peut quand même connaître et/ou modifier la taille et le nombre de pièces sans faire appel aux fonctions que nous avons créées. Car ces variables sont de portée globale C'est un problème si le programme est de grande taille. Il faut absolument cacher les variables internes de la tirelire D'où l'approche objet

10 Programmation Orientée Objet Exemple, programmation objet entête, et classe Retour sommaire Bruno Permanne 2006 #include using namespace std; class Tirelire { private: int Taille, NbPieces; // données membres public: Tirelire(int); // prototype constructeur void AjouterPieces(int); // prototype méthode ~Tirelire(); // prototype destructeur };

11 Programmation Orientée Objet Exemple, programmation objet, méthodes Retour sommaire Bruno Permanne 2006 Tirelire::Tirelire(int t) // constructeur { Taille=t; NbPieces=0; cout<<"Nouvelle tirelire vide"<

12 Programmation Orientée Objet Exemple, programmation objet, instanciation statique Retour sommaire Bruno Permanne 2006 int main(int argc, char *argv[]) { Tirelire MaTirelire(50); // l'objet est créé MaTirelire.AjouterPieces(5); MaTirelire.AjouterPieces(10); MaTirelire.~Tirelire(); //l'objet n'est pas détruit system("PAUSE"); return EXIT_SUCCESS; } // l'objet est détruit

13 Programmation Orientée Objet Exemple, programmation objet, instanciation dynamique Retour sommaire Bruno Permanne 2006 int main(int argc, char *argv[]) { Tirelire* Matirelire=new Tirelire(50); // l'objet est créé MaTirelire->AjouterPieces(5); MaTirelire->AjouterPieces(10); delete MaTirelire(); // l'objet est détruit system("PAUSE"); return EXIT_SUCCESS; }

14 Programmation Orientée Objet Exemple, programmation objet, autres concepts Retour sommaire Bruno Permanne 2006 Surdéfinition (ou surcharge) de méthode Surdéfinition d'opérateurs Héritage, classes amies, classes virtuelles pures Patrons de classes

15 Programmation Evènementielle Et objet des systèmes fenêtrés Retour sommaire Bruno Permanne 2006 S'applique à windows, linux, unix, OSx, etc. Des objets reçoivent des données (exemple objet d'affichage) Des objets provoquent l'exécution de méthodes (boutons) A l'intérieur des méthodes, la programmation est séquentielle

16 Programmation Evènementielle Et objet des systèmes fenêtrés, exemple Retour sommaire Bruno Permanne 2006 Créons une application affichant le texte "HelloWorld" quand on appuie sur un bouton On lance d'abord wxDevCPP On fait Fichier  Nouveau  Projet On choisis WxWidgets Dialog, puis name: HelloWin, puis projet C++ Faire ok, sauvegarder le projet puis create

17 Programmation Evènementielle Et objet des systèmes fenêtrés, exemple Retour sommaire Bruno Permanne 2006 On obtient la fenêtre suivante:

18 Programmation Evènementielle Et objet des systèmes fenêtrés, exemple Retour sommaire Bruno Permanne 2006 On clique sur Static Text à droite puis dans la fenêtre HelloWin:

19 Programmation Evènementielle Et objet des systèmes fenêtrés, exemple Retour sommaire Bruno Permanne 2006 On Peut choisir une taille de caractères plus grande de l'objet StaticText par la propriété (colonne de gauche) Font  EditFont:

20 Programmation Evènementielle Et objet des systèmes fenêtrés, exemple Retour sommaire Bruno Permanne 2006 Sur le même principe, on ajoute un bouton, dans la propriété Label du bouton,on peut écrire par exemple Exécuter

21 Programmation Evènementielle Et objet des systèmes fenêtrés, exemple Retour sommaire Bruno Permanne 2006 Dans l'onglet Events (évènements) du bouton AddNewFunction, la méthode WxButton1Click est crée.

22 Programmation Evènementielle Et objet des systèmes fenêtrés, exemple Retour sommaire Bruno Permanne 2006 On la retrouve dans le fichier HelloWinDlg.cpp (onglets du haut) comme une nouvelle méthode de l'objet fenêtre HelloWinDlg

23 Programmation Evènementielle Et objet des systèmes fenêtrés, exemple Retour sommaire Bruno Permanne 2006 La méthode HelloWinDlg ::WxButton1Click sera donc appelée quand le bouton Exécuter sera clické. Dans cette méthode, on va écrire le code qui permettra l'affichage du message souhaité "Hello World" Le résultat doit ressembler à cela void HelloWinDlg::WxButton1Click(wxCommandEvent& event) { // insert your code here WxStaticText1->SetLabel("Hello World !"); }

24 Programmation Evènementielle Et objet des systèmes fenêtrés, exemple Retour sommaire Bruno Permanne 2006 Voilà le travail effectué.

25 Programmation Evènementielle Et objet des systèmes fenêtrés, exemple Retour sommaire Bruno Permanne 2006 On compile:

26 Programmation Evènementielle Et objet des systèmes fenêtrés, exemple Retour sommaire Bruno Permanne 2006 On appuie sur le bouton Exécuter :

27 Programmation Fin de la troisième partie Bruno Permanne 2006


Télécharger ppt "Programmation Initiation Aux Langages C et C++ (3) Bruno Permanne 2006."

Présentations similaires


Annonces Google