14-05-2008, 07:23 PM
(Modification du message : 08-09-2008, 01:07 AM par Sephi-Chan.)
Salut à tous,
Depuis que je me suis mis à l'objet, je n'ai toujours pas trouvé de solution au problème qui va suivre alors que ça me paraît être vraiment élémentaire dans la pensée objet.
Comment faire muter un objet en un autre selon des conditions ? Existe-t-il une notion de mutation d'objet ou d'héritage dynamique ?
Simple problématique que je vais illustrer. Le contexte est celui d'un espace membre. Nous avons une classe Membre et une classe Administrateur (qui hérite de Membre).
La classe Administrateur ajouter des méthodes telles que le bannissement d'un membre ou la suppression d'une news. Dans la base de données, les administrateurs sont différenciés des membres par un champ grade à l'indice plus élevé.
Le but est de permettre à la classe Membre de muter en Administrateur dynamiquement (après même qu'elle a été instanciée) lors de l'appelle à une méthode quelconque. Par exemple, après avoir récupéré les informations du membre, on exécute une méthode qui teste si son rang est membre ou administrateur. S'il est administrateur, l'objet se transforme et obtient donc les méthodes et propriétés de la classe Administrateur.
À ma connaissance, et j'aimerai me tromper, un tel processus n'existe pas. La seule béquille que j'ai trouvé pour compenser cette énorme lacune réside dans le Design Pattern Factory.
Maintenant la question est : est-ce que je me trompe ? Y a-t-il un moyen de faire ce que je cherche ?
Je vous remercie de m'avoir lu et j'attends vos réactions avec impatience.
Sephi-Chan
Depuis que je me suis mis à l'objet, je n'ai toujours pas trouvé de solution au problème qui va suivre alors que ça me paraît être vraiment élémentaire dans la pensée objet.
Comment faire muter un objet en un autre selon des conditions ? Existe-t-il une notion de mutation d'objet ou d'héritage dynamique ?
Simple problématique que je vais illustrer. Le contexte est celui d'un espace membre. Nous avons une classe Membre et une classe Administrateur (qui hérite de Membre).
La classe Administrateur ajouter des méthodes telles que le bannissement d'un membre ou la suppression d'une news. Dans la base de données, les administrateurs sont différenciés des membres par un champ grade à l'indice plus élevé.
Le but est de permettre à la classe Membre de muter en Administrateur dynamiquement (après même qu'elle a été instanciée) lors de l'appelle à une méthode quelconque. Par exemple, après avoir récupéré les informations du membre, on exécute une méthode qui teste si son rang est membre ou administrateur. S'il est administrateur, l'objet se transforme et obtient donc les méthodes et propriétés de la classe Administrateur.
À ma connaissance, et j'aimerai me tromper, un tel processus n'existe pas. La seule béquille que j'ai trouvé pour compenser cette énorme lacune réside dans le Design Pattern Factory.
Maintenant la question est : est-ce que je me trompe ? Y a-t-il un moyen de faire ce que je cherche ?
Je vous remercie de m'avoir lu et j'attends vos réactions avec impatience.
Sephi-Chan