| auteur : Woufeil | Vous avez déclaré un objet $dupond comme membre de la classe Humain, très bien. Maintenant il faudrait pouvoir avoir accès aux différents champs le concernant (son nom, son prénom, son age...).
Souvenez vous que $dupond est une référence vers une table de hachage, il faut donc utiliser l'opérateur flèche pour accéder à ses différents champs. Par exemple, pour accéder au champ age de $dupond, il faut faire :
Et si la variable est un tableau tab ?
$dupond->{tab}->[1];
#accède au second élément de @tab . Equivalent à
$dupond->{tab}[1]; |
De même pour une table de hachage.
|
| auteur : Woufeil | En Perl, une méthode n'est qu'une fonction recevant un premier paramètre un peu spécial. Une méthode d'instance recevra comme premier argument la référence vers l'objet sur lequel elle doit s'appliquer. Supposons que cette référence pointe vers une table de hachage (c'est le cas la plupart su temps) et définissons une méthode defage permettant de définir l'âge de l'humain passé à cette méthode et de l'afficher :
sub defage
{
my ($this, $age ) = @_;
$this->{age} = $age;
print ''$this->{prenom} $this->{nom} a $this->{age} ans'';
} |
Il faut définir cette méthode dans le paquetage contenant la classe bien entendu.
|
| auteur : Woufeil | C'est pratiquement la même chose que pour appeler un constructeur ! Supposons que nous avons créé un objet $dupond membre de la classe Humain via le constructeur associé. Si maintenant on veut appeler la méthode defage sur cet objet il suffit de taper :
Comme un appel de méthode lui passe (à la méthode) de lui même son invoquant en tant que premier paramètre, il ne faut pas passer la référence $dupond.
Ainsi, la fonction defage recevra bien $dupond comme premier paramètre et 35 en second.
Ce n'est pas plus difficile que ça.
|
Consultez les autres F.A.Q's
|
Les sources présentées sur cette page sont libres de droits
et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation
constitue une œuvre intellectuelle protégée par les droits d'auteur.
Copyright © 2005 Developpez Developpez LLC.
Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne
peut être faite de ce site ni de l'ensemble de son contenu : textes, documents
et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez
selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.