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:11] – 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 61: | Ligne 72: | ||
* **Fichier classe : // | * **Fichier classe : // | ||
- | < | + | < |
package joueur; | package joueur; | ||
Ligne 125: | Ligne 136: | ||
==== Utilisation du module et de ses classes ==== | ==== 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 155: | Ligne 164: | ||
$p2-> | $p2-> | ||
</ | </ | ||
- | |||
perl/programmation_oriente_objet_utilisation.1290877902.txt.gz · Dernière modification : 2010/11/27 17:11 de root