Une méthode est une routine dont le premier paramètre doit être une référence à un objet. Ce peut être aussi le nom d'un package pour une méthode de classe. Reprenons l'exemple de la classe 'Doc' et voyons comment décrire sa classe, ou son package:
Exemple 4-2. Le package Doc
package Doc;
# le contructeur
#---------------
sub new {
my $self = { };
$self->{TITLE} = undef;
$self->{BOOKINFO} = undef;
$self->{CHAPTER} = Chapter->new;
bless( $self );
return $self;
}
# méthodes d'objets
#------------------
sub title {
my $self = shift; # référence de l'objet
if( @_ ){ $self->{TITLE} = shift } # si on a un paramètre il est affecté à la clé 'TITLE'
return $self->{TITLE}; # sinon la méthode renvoie
# la valeur de cette clé
La méthode title avec comme argument (le titre) instancie la valeur de la clé 'TITLE' à la valeur de cet argument. S'il n'y à pas d'argument, elle retourne cette valeur.
Appellons le constructeur ainsi créé:
$myDoc = Doc->new( ); # new est une méthode de classe
$myDoc->title( "Perl et les Objets" ); # title est une méthode
# objet : il faut déréférencer l'objet $myDoc
# pour atteindre sa variable locale
| Précédent | Sommaire | Suivant |
| Un objet | Niveau supérieur | Représentation des objets |