Hiha
Cours de PHP 5
[pic]
IV. Programmation Orientée Objet (POO)
IV-A. Modèle objet
IV-A-1. Bref historique
La programmation orientée objet (POO) a fait son apparition dans la version 3 de PHP. C'était alors simplement un moyen d'autoriser la syntaxe OO (par opposition au procédural), mais pas réellement un moyen de programmer efficacement avec des objets.
PHP4 a continué dans la lancée, proposant de nouveaux mots clefs, mais toujours sans proposer une syntaxe proche de langages ayant une plus grande maturité comme C++ ou Java. C'est ce qui a facilité le passage des applications et des hébergements de PHP3 à PHP4, et c'est ce qui retarde la mise en place massive de PHP5 à travers le Web.
PHP5, en revanche, introduit de véritables concepts OO : le constructeur est plus clairement identifié, le destructeur fait son apparition, les objets sont tous pris en charge comme des références, de nouveaux mots clefs font leur apparition (public, protected et private) ainsi que des interfaces et des classes abstraites...
IV-A-2. Terminologie
Une classe est une représentation abstraite d'un objet. C'est la somme des propriétés de l'objet et des traitements dont il est capable. Une Chaise, un Livre, un Humain, une Rivière sont autant d'exemples possibles de classes. Une classe peut généralement être rendu concrète au moyen d'une instance de classe, que l'on appelle objet : on parle d'instancier la classe. Un objet est donc un exemple concret de la définition abstraite qu'est la classe.
On parle d'héritage lorsque l'on définit une hiérarchie de classes. On peut par exemple définir la classe Chien mais elle nous semble trop abstraite : si j'instancie Chien par un objet $médor, je ne sais pas de quelle race est mon chien. Je pourrais avoir une propriété "race" dans la classe Chien, mais la solution de l'héritage me donne plus de souplesse : elleme permet de redéfinir des propriétés et des méthodes de la