Début d’une nouvelle série sur l’utilisation de la programmation orientée objet (POO) et son implémentation avec php5.
Tout d’abord qu’est ce que c’est que la POO.
C’est un concept de programmation qui s’oppose avec la programmation procédurale. Classiquement nous programmons avec des fonctions et des variables. Fonctions qui appellent d’autres fonctions, etc etc. En C par exemple on code de cette manière. Et malheureusement beaucoup trop en php aussi.
Avec la POO au lieu de créer des fonctions à tout va vous regroupez vos fonctions et variables en entités logiques. Par exemple si vous voulez representer une voiture avant de lire ce tuto vous auriez (à la rigueur) crée un fichier voiture.php puis aurez mis dedans toutes vos fonctions : demarrer(), arreter(), passerVitesseSup(), retrograder(), etc et vos variables : niveauCarburant, nbPortes, couleur, marque, modelé, etc. Et bien aujourd’hui toutes ces fonctions et variables seront regroupées dans une entité logique. Alors pour le moment vous ne voyez pas de différences…Donc avant d’aller plus loin nous allons voir un peu de vocabulaire.
Notre entité logique s’appelle une classe. C’est en quelques sortes un moule à objet. Autrement dit nous avons une classe voiture qui va nous permettre de créer des objets « voiture ». On dit alors qu’un objet est une instance d’une classe.
Une classe est composée de deux choses : des attributs et des méthodes. Les attributs sont les variables de la classe, ici nous aurions : niveauCarburant, nbPortes, couleur, etc… Tandis que les méthodes sont les fonctions de la classe. Dans notre cas : demarrer(), arreter(),…
Une fois que nous avons notre classe, nous voullons l’instancier pour obtenir des objets. Au moment de l’instance le constructeur de la classe est appelé. Le constructeur est en fait une méthode qui est automatiquement appelé lors de l’instance. En php5 elle s’appelle toujours __construct(). Dans d’autre langages (java, php4,…) le constructeur porte le même nom que la classe. Ce constructeur permet notamment d’initialiser les attributs de l’objet. Ainsi nous pourrions avoir plusieurs objets voitures ayant des attributs différents. Par exemple une opel astra avec un reservoir vide et une renault safrane avec un reservoir plein. Ces deux objets seront en fait deux instances différentes de la même classe.
Prochain billet : première classe.
User Responses
3 Responses and Counting...
Leave a Reply
[tuto jquery] drag ‘n drop avec sauvegarde automatique en base de données (2/2)
[tuto jquery] drag ‘n drop avec sauvegarde automatique en base de données (1/2)
[2 birthday] 2 ans aujourd'hui = 2 smashing book à gagner
[tuto web] cadre avec bordures extensibles valide xhtml/css
[tuto mashup] Google maps sur votre site : c'est possible! (version statique)
- Les clients français et le syndrome du verre à moitié vide 8 mars 2010 Julien
- Lever des fonds 5 mars 2010 Olivier Marone
- Why Google Pushed Buzz Out The Door Before It Was Ready 1 mars 2010 Erick Schonfeld
- Les levées de fonds dans les start-up : Des divergences d’intérêts entre entrepreneurs et investisseurs 1 mars 2010 Olivier Marone
- 11082 26 février 2010 (author unknown)




![[3615 mylife] Limoges, c’est fini. La suite?](http://antoine.guiral.info/wp-content/uploads/2010/02/stvincent.jpg)
![[facebook] Du nouveau sur la roadmap](http://antoine.guiral.info/wp-content/uploads/2010/02/facebook_logo.png)
![[facebook php] hiphop for php : une petite révolution dans le monde du développement web et de php](http://antoine.guiral.info/wp-content/uploads/2010/02/hiphop.jpg)
![[apple iPad] énorme succés de l’iPad à la dernière keynote d’apple](http://antoine.guiral.info/wp-content/uploads/2010/01/ipad.jpg)
![[google] google, le 51ème état?](http://antoine.guiral.info/wp-content/uploads/2010/01/51emeetat.jpg)
janvier 28, 2009
Antoine Guiral : apprenti du web 2.0 : [poo php] introduction…
Premier article d’une série sur la poo en php….
janvier 28, 2009
vraiment très interessant, j’avais justement du mal a comprendre la notion de POO
janvier 28, 2009
Merci
et en php!
J’ai abordé d’autres concepts liés à la poo, notamment le pattern factory. Je suis en ce moment en train de rédiger le prochain article sur l’implementation objet de mysql (mysqli) ce qui nos ammenera a voir le pattern singleton. De quoi partir sur de bonnes bases en objet
A bientôt