Problème getters et setters
Bonjour;
Je dois faire partager une variable entre plusieurs classes.
J'utilise donc un getter et un setter.
Je me suis inspiré de la FAQ, mais je ne dois partager qu'un variable, donc j'ai produit le code suivant:
Code:
1 2 3 4 5
| sub balance {
my $this = shift;
$this->{$balance} = shift if (@_);
return $this->{$balance};
} |
et également
Code:
1 2 3 4 5 6 7
| sub accesseur {
my ($this) = shift; #$this contient une référee a l'objet courant
my $balance = __PACKAGE__ . "::balance";
if ( @_{ $this->{$balance} = shift } ) {
return $this->{$balance};
}
} |
Je recherche la valeur avec
Code:
if($self->balance() == 1)
Mais lorsque je fais un print de $self->balance() j'obtiens:
Code:
Xymov::XymovDBI2=HASH(0x504290)->balance()
Apparemment j'ai pas tout compris :-S
Pourquoi je n'obtiens pas 0 ou 1 (valeur affectée à la balance) avec ce print?
Ai-je mal suivis les instructions?
Merci pour vos réponses!