< < E-NEF > >
Prog. Perl | Art Roman | Voyager | Cartes ()
                  dragon                     e-nef                 Plan du Site
Contact
my.e-nef v0.1
  • Kernel Linux stable: 2.6
  • Perl: 5.8
  • Apache: 2.0
  • mod_perl: 2.0
  • postgres: 8.0


Rubriques


Recherche sur le Site





Bookmarks


Recommandation de Lecture


Questions ?
Dites nous ce que vous
avez pensé de cette page

 Excellent
 Vaut le coup de le lire
 Sans intérêt

 Pas assez technique
 Juste comme il faut
 Trop technique



Cours de Perl
next up previous index
suivant: Tips and tricks monter: Les objets précédent: Les bases   Index

Un exemple

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";
}


next up previous index
suivant: Tips and tricks monter: Les objets précédent: Les bases   Index
Olivier Aubert
1999-06-01



Publicité

© Copyright 1998-2010 Emmanuel PIERRE. Libre reproduction sous Licence LLDDv1.
Pour tout commentaire, webmaster@e-nef.com
Dernière MaJ

Valid XHTML 1.0!

No Patents/