suivant: Tips and tricks
monter: Les objets
précédent: Les bases
  Index
Supposons que la classe Window soit définie. Alors on crée
un objet appartenant à cette classe en appelant son constructeur :
$fenetre = new Window "Une fenetre";
# ou dans un autre style
$fenetre = Window->new("Une fenetre");
Si Window a une méthode expose définie, on peut
l'appeler ainsi :
expose $fenetre;
# ou bien
$fenetre->expose;
Voici un exemple de déclaration de la classe Window:
package Window;
# La methode de creation. Elle est appelee avec le nom de la
# classe (ie du paquetage) comme premier parametre. On peut passer
# d'autres parametres par la suite
sub new
{
# On recupere les arguments
my($classe, $parametre) = @_;
# L'objet qui sera retourne est ici (et c'est generalement le cas)
# une reference sur un tableau associatif. Les variables
# d'instance de l'objet seront donc les valeurs de ce tableau.
my $self = {};
# On signale a $self qu'il depend du paquetage Window
# (ie que sa classe est Window)
bless $self;
# Diverses initalisations
$self->initialize($parametre);
# On retourne $self
return $self;
}
# Methode d'initalisation.
# Le premier parametre est l'objet lui-meme.
sub initialize
{
my($self, $parametre) = @_;
$self->{'nom'} = $parametre || "Anonyme";
}
# Autre methode.
sub expose
{
my $self = shift;
print "La fenetre ``, $self->{'parametre'},
" a recu un evenement expose.#3046#>n";
}
suivant: Tips and tricks
monter: Les objets
précédent: Les bases
  Index
Olivier Aubert
1999-06-01
|