Bonjour,
En OO, j'aimerais avoir la liste de tous les objets que j'ai sélectionné.
J'ai donc crée un hachage %liste (oui le nom n'est pas pertinent)
A chaque objet créé, je le met dans %liste via un id (qui me sert ailleurs)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 package Epingle; our %liste;
Que je supprime quand je n'ai plus besoin de l'objet
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 bless($self, $classe); $liste{$self->id}=$self;
Cela me permet de sélectionner certains objets et d'autres non.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 sub supprime { my $self=shift; delete($liste{$self->id}); ... }
Et dans le corps du programme d'interroger cette série d'objet sélectionné.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 sub selectionne { my $self=shift; $self->{SELECT}=1; }
(changer la taille, les supprimer,....)
Indirectement, cette liste me permet de mémoriser les objets créés, car je crée un objet parfois dans le corps du programme par
Et à la sortie "}" le $epingle n'est plus défini, mais l'objet reste vu qu'il est dans %liste.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 my $epingle=Epingle->new(....); ... }
Ma question est pourquoi créer cette liste, alors qu'elle existe d'une manière ou d'une autre dans Perl, mais même si je ne la crée pas, comment assurer la persistence de l'objet ?
Ou, existe t-il une logique plus pertiente pour faire cela ?
Bien le merci.
Partager