php4 et l’héritage

Guillaume Kulakowski par Guillaume Kulakowski dans php 3 mars 2005 3
Tags : héritage PHP PHP4
php

Jusqu’à présent, ma connaissance et mes compétences face à l’héritage était due à la programmation Java, et son application au php n’était que pure théorie (rappelez-vous)… Or, je viens de sauter le pas sous php4 (Version utilisée à mon stage).

Tout d’abord, même si le modèle objet de php4 (Différents de celui de php5) a ses limites, il n’en demeure pas moi « assez » puissant, facile à mettre en oeuvre et proche de celui du Java.

Cependant, on pourra déplorer certaines limitations :

  • Pas d’héritage multiple : Tout comme Java, mais est ce bien nécessaire ?
  • Pas de surcharge : Plus gênant, php choisis de rendre des paramètres d’une fonction facultatifs en leur donnant une valeur initial par défaut. Ainsi en lieu et place de :
function toto () {}
function toto ( paramètre ) {}

On aura :

function toto ( paramètre = null ) {}

Bien sur, la redéfinition, essence même de l’héritage est possible.

  • L’appel des fonctions de la sur-classe : php n’adopte pas l’appel super.fonction() comme Java mais une syntaxe moins simple :
super_classe::fonction()

Je vous tiendrais bien sûr au courant de l’avancé de ma découverte en tenant à jour ce billet ou en le déclinant en Part II. Rappelons pour finir que nous parlons ici de php 4.

Commentaires

yossra

De yossra le 3 mars 2005

pourrais je utiliser UML pour la modelisation et la conception d'une application web ecrite en php4, perl et CGI?

LLaumgui

De LLaumgui le 3 mars 2005

Oui, avec UML tu peux presque tout modéliser :-)

bersace

De bersace le 3 mars 2005

En PHP, on peut utiliser parent::fonctionDefinieDanslaClasseParente() au lieu de définir explicitement le nom de la classe parente, tout comme super. de Java.

Étienne.

Les commentaires pour ce poste sont fermés.