Article Introduction à la POO - Version imprimable +- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org) +-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38) +--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51) +--- Sujet : Article Introduction à la POO (/showthread.php?tid=8210) |
Introduction à la POO - Xenos - 14-09-2020 [POO] Introduction à la POO Bonsoir à tous. Puisque j'ai l'impression que le sujet est récurrent j'ai décidé de faire un petit tuto d'apprentissage des bases de la POO en php5. Je sais qu'un tuto similaire existe déjà mais bon, je vais le faire à ma sauce. Plus on est de fou plus on ris 2 Concepts génériques
Concept approfondis
Exemple
Regardons maintenant comment créer une voiture 2
Un objet voiture est maintenant créé, et stocké dans la variable $oVoiture Lorsqu'on a créé la voiture en faisant new , la fonction de construction à été appelée, la voiture est donc bleue, et à une vitesse de zéro. Par contre sa taille elle n'a pas été initialisée, elle est donc inexistante Maintenant on va faire avancer la voiture, donc on va augmenter sa vitesse. Et puis pourquoi pas lui donner une taille aussi ça peut le faire non ?
La première ligne correspond à un changement de propriété de notre objet. Cette propriété est publique on peut donc la changer, et cela se passe de la même manière qu'avec n'importe quelle variable. Notre voiture a donc maintenant une taille de 4. La seconde ligne correspond à l'appel d'une méthode de la classe. Elle aussi est publique et donc accessible. On peut passer des paramètres dans les méthodes objets de la même façon que dans une fonction. Si vous avez bien suivi vous savez donc que la voiture à maintenant une vitesse de 6 (voire la classe pour la façon d'augmenter la vitesse). L'héritage Une autre fonction très intéressante de la programmation objet est la notion d'héritage. C'est à dire qu'un objet peut "récupère" les propriété et fonctions de l'objet dont il hérite. Voici un premier exemple tout simple avec une classe camion :
Avec cette classe, nous pouvent éxecuter sans probleme ce code :
Suite à ce code, on se retrouve avec un camion rouge, qui à une taille de 8, qui possède 6 roues et qui à une vitesse de 7. Le camion à hérité de la fonction avancer de la classe voiture, et également de ses propriétés taille,couleur et vitesse. Ainsi pas besoin de réécrire un code que nous avions déjà. Par contre, la camion à une spécificité, son nombre de roues. On peut le spécifier pour le camion, mais c'est une propriété qui lui est exclusive, l'objet voiture lui n'en hérite pas. C'est vraiment utile ? Bien imaginons que cette voiture fait partie d'un jeu de voiture, ou toutes les voitures sont stockées dans une base de données. Une page de ton jeu permet disons de faire du tuning de ta voiture et de la sauvegarder. Une page comme celle ci prend normalement beaucoup de ligne, avec les requêtes mysql, les vérifications des objets passés en paramètre, la chargement de la voiture avant modifications etc. Avec une classe bien préparé, on peut arriver à ceci par exemple :
Plutôt sympa non ? Composé par mdcarter |