Retypage dynamique d'objets en PHP


ecocentric
WRInaute accro
WRInaute accro
 
Messages: 3602
Inscription: 10 Fév 2004

Retypage dynamique d'objets en PHP

Message le Lun Aoû 13, 2007 9:23

Petite question de PHP.

Est-il possible de "retyper" dynamiquement un objet (au sein d'un ensemble d'objets ayant la même interface).

Exemple pédagogique ;-): j'ai les objets Schtroumph, Schtroumphette et Gargamel. J'instancie Schtroumph. Un traitement révèle que le Schtroumph est en fait une femme. Est-il possible d'alors retyper l'objet en Schtroumphette?

petit-ourson
WRInaute impliqué
WRInaute impliqué
 
Messages: 855
Inscription: 31 Mai 2004

Message le Lun Aoû 13, 2007 12:54

Tient la réponse m'intéresse mais bizarrement je ne vois pas dans ce sens comment cela pourrait être possible.

Autant passer de Schtroumphette à Schtroumph, ça ne pose pas de pb, autant dans l'autre sens, il va manquer des données.


Edit. Enfin cela dépend en fait. Schtroumphette est une classe fille de Schtroumph ou pas ??


ecocentric
WRInaute accro
WRInaute accro
 
Messages: 3602
Inscription: 10 Fév 2004

Message le Lun Aoû 13, 2007 13:38

En fait, l'idée est que tous ces objets aient la même interface. Donc, ils sont interchangeables dans le code principal de l'application.

petit-ourson
WRInaute impliqué
WRInaute impliqué
 
Messages: 855
Inscription: 31 Mai 2004

Message le Lun Aoû 13, 2007 13:43

Si toutes leurs méthodes et toutes leurs propriétés sont identiques, ils devraient tous dépendre de la même classe mère.


ecocentric
WRInaute accro
WRInaute accro
 
Messages: 3602
Inscription: 10 Fév 2004

Message le Lun Aoû 13, 2007 13:46

petit-ourson a écrit:Si toutes leurs méthodes et toutes leurs propriétés sont identiques, ils devraient tous dépendre de la même classe mère.


C'est pas encore le cas, mais ça va en effet l'être sous peu (il y a des méthodes communes, par exemple pour la visualisation des données présentes dans l'objet).


ecocentric
WRInaute accro
WRInaute accro
 
Messages: 3602
Inscription: 10 Fév 2004

Message le Lun Aoû 13, 2007 14:00

A la réflexion, je me pose une autre question: peut-on spécialiser un objet en cours de route.

Exemple: transformer la classe "personnage_de_bede" en "schroumph"?


HawkEye
WRInaute accro
WRInaute accro
 
Messages: 17013
Inscription: 23 Fév 2004

Message le Lun Aoû 13, 2007 14:16

[HS]
pour info: ça s'écrit Schtroumpf ;)
[/HS]


ecocentric
WRInaute accro
WRInaute accro
 
Messages: 3602
Inscription: 10 Fév 2004

Message le Lun Aoû 13, 2007 16:05

HawkEye a écrit:pour info: ça s'écrit Schtroumpf ;)

En effet! Schtroumpf, alors!!!

petit-ourson
WRInaute impliqué
WRInaute impliqué
 
Messages: 855
Inscription: 31 Mai 2004

Message le Mar Aoû 14, 2007 11:11

Sans utiliser d'héritage et de classe abstraite, tout cela me semble boiteux.


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: enams90 et 0 invités