perl:programmation_oriente_objet_utilisation
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| perl:programmation_oriente_objet_utilisation [2010/11/27 17:08] – root | perl:programmation_oriente_objet_utilisation [2013/03/12 23:39] (Version actuelle) – root | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| + | ====== Objets ====== | ||
| + | |||
| ====== 1. Programmation orientée objet ====== | ====== 1. Programmation orientée objet ====== | ||
| Ligne 6: | Ligne 8: | ||
| Cela implique dans un programme de se soucier de la donnée avant de la manipuler, comme on le fait déjà pour la déclaration et l' | Cela implique dans un programme de se soucier de la donnée avant de la manipuler, comme on le fait déjà pour la déclaration et l' | ||
| + | <code perl> | ||
| my $file = FileHandle-> | my $file = FileHandle-> | ||
| my $line = $file-> | my $line = $file-> | ||
| $file-> | $file-> | ||
| + | </ | ||
| ===== Classe et instance ===== | ===== Classe et instance ===== | ||
| Ligne 25: | Ligne 29: | ||
| Une classe est en général définie comme le cumul de fonctions de classes existantes, plus des nouvelles fonctionnalités. Cette conception "par couche", | Une classe est en général définie comme le cumul de fonctions de classes existantes, plus des nouvelles fonctionnalités. Cette conception "par couche", | ||
| + | <code perl> | ||
| my $mirza = Chien-> | my $mirza = Chien-> | ||
| $mirza-> | $mirza-> | ||
| Ligne 31: | Ligne 36: | ||
| $medor-> | $medor-> | ||
| $medor-> | $medor-> | ||
| + | </ | ||
| ====== 2. Utilisation des objets en Perl ====== | ====== 2. Utilisation des objets en Perl ====== | ||
| La majorité des modules du répertoire CPAN sont fournis sous forme de classes, il faut donc en général commencer par instancier des objets pour pouvoir accéder à leurs fonctionnalités. Par convention (et il ne s'agit que d'une convention), | La majorité des modules du répertoire CPAN sont fournis sous forme de classes, il faut donc en général commencer par instancier des objets pour pouvoir accéder à leurs fonctionnalités. Par convention (et il ne s'agit que d'une convention), | ||
| + | <code perl> | ||
| use DBI; | use DBI; | ||
| | | ||
| my $db = DBI-> | my $db = DBI-> | ||
| + | </ | ||
| Un objet en Perl est une référence sur une structure quelconque (scalaire, liste, tableau, etc), qu'on a en plus associé à une classe particulière (nous verrons comment en concevant nos propres objets). Ainsi ces deux éléments sont différents : | Un objet en Perl est une référence sur une structure quelconque (scalaire, liste, tableau, etc), qu'on a en plus associé à une classe particulière (nous verrons comment en concevant nos propres objets). Ainsi ces deux éléments sont différents : | ||
| + | <code perl> | ||
| my $mirza = Chien-> | my $mirza = Chien-> | ||
| print "Ce chien s' | print "Ce chien s' | ||
| print "Ce chien s' | print "Ce chien s' | ||
| + | </ | ||
| Il est assez courant que les paramètres d'un constructeur soient passés sous la forme d'un tableau (associatif), | Il est assez courant que les paramètres d'un constructeur soient passés sous la forme d'un tableau (associatif), | ||
| + | <code perl> | ||
| use DBIx:: | use DBIx:: | ||
| | | ||
| Ligne 53: | Ligne 63: | ||
| Database => " | Database => " | ||
| }); | }); | ||
| + | </ | ||
| Profitez de l' | Profitez de l' | ||
| Ligne 60: | Ligne 71: | ||
| ==== Création d'un module ==== | ==== Création d'un module ==== | ||
| - | * **Fichier modules/ | + | |
| - | < | + | < |
| package joueur; | package joueur; | ||
| Ligne 123: | Ligne 134: | ||
| </ | </ | ||
| + | ==== Utilisation du module et de ses classes ==== | ||
| * **Programme principal :** | * **Programme principal :** | ||
| - | < | + | < |
| # | # | ||
| use lib " | use lib " | ||
| use joueur; | use joueur; | ||
| - | |||
| - | #print join(" | ||
| print $joueur:: | print $joueur:: | ||
| Ligne 154: | Ligne 164: | ||
| $p2-> | $p2-> | ||
| </ | </ | ||
| - | |||
perl/programmation_oriente_objet_utilisation.1290877685.txt.gz · Dernière modification : de root
