Bonjour.
J'ai un petit problème avec la POO en Perl. Je m'explique :
J'ai un package qui simule un objet qui contient un constructeur et une fonction quelconque qui modifie une valeur de cette objet.
Voici le code.
Lorsque j'appelle le constructeur depuis un autre fichier perl, j'ai mon objet avec la valeur TATA pour le TAPFileName cependant, si j'appelle la fonction "setFileName" et que je regarde de nouveau la valeur dans mon objet, j'ai toujours TATA et non TOTO.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package Tap3Function; use strict; use TAP3::Tap3edit; #declaration des variables #TAPFileName sub constructeur { my ($classe) = @_; #la fonction reçoit comme premier paramètre le nom de la classe my $this = {'TAPFileName' => 'TATA' }; bless ($this,$classe); #lie la référence à la classe return $this; #on retourne la référence consacrée } sub setFileName { my ($this) = @_; $this = {'TAPFileName' => 'TOTO'}; }
Est-ce possible de faire ceci en perl ? Y a t'il une erreur dans mon code ?
Merci
Partager