Cette page vous donne les différences entre la révision choisie et la version actuelle de la page.
poo [2019/12/27 19:57] gbdivers effacée |
poo [2019/12/27 19:58] (Version actuelle) gbdivers créée |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ^ Chapitre précédent ^ [[programmez_avec_le_langage_c|Sommaire principal]] ^ Chapitre suivant ^ | + | <note warning>Ce cours n'est plus à jour, il est préférable de ne pas le suivre. Je vous recommande le cours sur Zeste de Savoir : https://zestedesavoir.com/tutoriels/822/la-programmation-en-c-moderne/.</note> |
- | + | ||
- | ====== Introduction a la programmation orientee objet ====== | + | |
- | + | ||
- | ===== Qu'est ce que la POO ? ===== | + | |
- | + | ||
- | Ecrire des classes ? | + | |
- | + | ||
- | Non. POO est une methode de resolution de problemes, pas une syntaxe en particulier. C'est penser une solution en termes d'objets. | + | |
- | + | ||
- | Exemple concret. Comment concevoir cette UI : | + | |
- | + | ||
- | {{ :poo.png |}} | + | |
- | + | ||
- | **Methode non object** | + | |
- | + | ||
- | Pour creer l'UI : | + | |
- | + | ||
- | * dessiner le rectangle jaune | + | |
- | * dessiner les rectangles verts | + | |
- | * dessiner les chiffres | + | |
- | + | ||
- | Si l'utilisateur clique sur un element de l'UI (par exemple, pour changer la couleur du rectangle vert sur lequel on clique en bleu) : | + | |
- | + | ||
- | * recuperer la position (x,y) du clic | + | |
- | * pour chaque rectangle, calculer si la position du clic est dans le rectangle | + | |
- | * pour le rectangle identifie, redessiner le rectangle en bleu | + | |
- | * redessiner le texte du rectangle | + | |
- | + | ||
- | **Methode objet** | + | |
- | + | ||
- | Un objet "rectangle" est definie par : | + | |
- | + | ||
- | * une couleur de fond en vert | + | |
- | * un texte | + | |
- | * quand on clic dessus, on change la couleur de fond en bleu | + | |
- | + | ||
- | Pour creer l'UI : | + | |
- | + | ||
- | * creer 4 objets "rectangle" | + | |
- | + | ||
- | Pour gerer les clics : | + | |
- | + | ||
- | * rien a faire, c'est gerer dans la definition de l'objet | + | |
- | + | ||
- | ===== Definitions ===== | + | |
- | + | ||
- | Concevoir en objets, c'est donc decomposer une problematique en objets qui interagissent entre eux. Quand une classe interagit avec une autre classe, elle utilise un "service" propose par l'autre classe. | + | |
- | + | ||
- | * classe = type | + | |
- | * objet = valeur (dont le type est une classe) | + | |
- | * services = fonctions membres | + | |
- | * etat = donnees internes = variables membres | + | |
- | + | ||
- | polymorphisme ? heritage ? | + | |
- | + | ||
- | ^ Chapitre précédent ^ [[programmez_avec_le_langage_c|Sommaire principal]] ^ Chapitre suivant ^ | + |