Archive for the ‘Classes et Objets’ Category

Perl: Exemple de destruction des objets


{filelink=14325}

#!/usr/local/bin/perl -w
 
package Personne;
use strict;
 
sub new {
    my $self = { };
    bless($self);
 
    # Initialisation de deux attributs
    $self->{Nom} = "";
    $self->{AGE}   = 0;
    return $self;
 
# Le destructeur de l'objet
sub DESTROY {
    my $self = shift;
    printf("$self détruit à %sn", scalar localtime);
}
 
}

Livres sur ce sujet

[amazon_image id=”2841773698″ link=”true” target=”_blank” size=”medium” ]De l’art de programmer en Perl[/amazon_image][amazon_image id=”2914010729″ link=”true” target=”_blank” size=”medium” ]Perl pour l’impatient[/amazon_image][amazon_image id=”2841771407″ link=”true” target=”_blank” size=”medium” ]Programmation en Perl, 3ème édition[/amazon_image][amazon_image id=”B005ELPHNA” link=”true” target=”_blank” size=”medium” ]Perl moderne: L’essentiel des pratiques actuelles[/amazon_image][amazon_image id=”2914010656″ link=”true” target=”_blank” size=”medium” ]Les expressions régulières par l’exemple[/amazon_image][amazon_image id=”2914010869″ link=”true” target=”_blank” size=”medium” ]Les meilleures bibliothèques pour Perl[/amazon_image]

Programme: Convertir une valeur en degré


{filelink=13808}

#!/usr/local/bin/perl
 
use strict;
 
my $y = 1.15470053837925;
my $x = 2.0;
 
my $conversion = 180 / 3.1415926535897932384626433832795;
 
print "L'angle = ", $conversion * atan2($y, $x), " degré.";

Livres sur ce sujet

[amazon_image id=”2841773698″ link=”true” target=”_blank” size=”medium” ]De l’art de programmer en Perl[/amazon_image][amazon_image id=”2914010729″ link=”true” target=”_blank” size=”medium” ]Perl pour l’impatient[/amazon_image][amazon_image id=”2841771407″ link=”true” target=”_blank” size=”medium” ]Programmation en Perl, 3ème édition[/amazon_image][amazon_image id=”B005ELPHNA” link=”true” target=”_blank” size=”medium” ]Perl moderne: L’essentiel des pratiques actuelles[/amazon_image][amazon_image id=”2914010656″ link=”true” target=”_blank” size=”medium” ]Les expressions régulières par l’exemple[/amazon_image][amazon_image id=”2914010869″ link=”true” target=”_blank” size=”medium” ]Les meilleures bibliothèques pour Perl[/amazon_image]

Manipuler les attributs d’une classe à l’aide des méthodes ‘set’ et ‘get’

classe, méthode, set
{filelink=14326}

#!/usr/local/bin/perl -w
 
package personne;
use strict;
 
sub Personne {
    my $self = { };
    bless($self);
 
    # Initialisation de deux attributs  de la classe
    $self->{Nom} = "";
    $self->{AGE}   = 0;
    return $self;
 
# Retourner le nom
sub get_Nom
{
    my $self = shift;
    return $self->{nom};
}
# Modifier le nom
sub set_Nom
{
    my $self      = shift;
    $self->{nom} = shift;
}
# Retourner l'âge
sub get_Age
{
    my $self = shift;
    return $self->{age};
}
# Modifier l'âge
sub set_Age
{
    my $self      = shift;
    $self->{age} = shift;
}
		}

Livres sur ce sujet

[amazon_image id=”2841773698″ link=”true” target=”_blank” size=”medium” ]De l’art de programmer en Perl[/amazon_image][amazon_image id=”2914010729″ link=”true” target=”_blank” size=”medium” ]Perl pour l’impatient[/amazon_image][amazon_image id=”2841771407″ link=”true” target=”_blank” size=”medium” ]Programmation en Perl, 3ème édition[/amazon_image][amazon_image id=”B005ELPHNA” link=”true” target=”_blank” size=”medium” ]Perl moderne: L’essentiel des pratiques actuelles[/amazon_image][amazon_image id=”2914010656″ link=”true” target=”_blank” size=”medium” ]Les expressions régulières par l’exemple[/amazon_image][amazon_image id=”2914010869″ link=”true” target=”_blank” size=”medium” ]Les meilleures bibliothèques pour Perl[/amazon_image]

Calculer la valeur absolue

 calcul
{filelink=13805}

#!/usr/local/bin/perl
 
$s = -1;
 
print "La Valeur absolue de $s = ", abs $s;

Livres sur ce sujet

[amazon_image id=”2841773698″ link=”true” target=”_blank” size=”medium” ]De l’art de programmer en Perl[/amazon_image][amazon_image id=”2914010729″ link=”true” target=”_blank” size=”medium” ]Perl pour l’impatient[/amazon_image][amazon_image id=”2841771407″ link=”true” target=”_blank” size=”medium” ]Programmation en Perl, 3ème édition[/amazon_image][amazon_image id=”B005ELPHNA” link=”true” target=”_blank” size=”medium” ]Perl moderne: L’essentiel des pratiques actuelles[/amazon_image][amazon_image id=”2914010656″ link=”true” target=”_blank” size=”medium” ]Les expressions régulières par l’exemple[/amazon_image][amazon_image id=”2914010869″ link=”true” target=”_blank” size=”medium” ]Les meilleures bibliothèques pour Perl[/amazon_image]

Classe: Comment créer des héritages entre les classes

classe, héritage
{filelink=14329}

#!/usr/local/bin/perl -w
 
# création d'une classe 'personner
package Personne;
 
sub new {
    my $class = shift;
    my $self  = { };
    return bless $self, $class;
}
sub nom {
    my $self = shift;
    $self->{nom} = shift if @_;
    return $self->{nom};
}
sub profession {
    my $self = shift;
    $self->{profession} = shift if @_;
    return $self->{profession};
}
 
 ######## Héritage ###########
 # création d'une classe 'client'
 # qui hérite de tous les membres
 # de la classe Personne
 
 package Client;
 use Personne;
 
my $client = Client->new( );
$client->nom("Jhon");
$client->profession("Plombier");
printf "Je m'appele %s et je suis %s.n", $client->nom, $client->profession;

Livres sur ce sujet

[amazon_image id=”2841773698″ link=”true” target=”_blank” size=”medium” ]De l’art de programmer en Perl[/amazon_image][amazon_image id=”2914010729″ link=”true” target=”_blank” size=”medium” ]Perl pour l’impatient[/amazon_image][amazon_image id=”2841771407″ link=”true” target=”_blank” size=”medium” ]Programmation en Perl, 3ème édition[/amazon_image][amazon_image id=”B005ELPHNA” link=”true” target=”_blank” size=”medium” ]Perl moderne: L’essentiel des pratiques actuelles[/amazon_image][amazon_image id=”2914010656″ link=”true” target=”_blank” size=”medium” ]Les expressions régulières par l’exemple[/amazon_image][amazon_image id=”2914010869″ link=”true” target=”_blank” size=”medium” ]Les meilleures bibliothèques pour Perl[/amazon_image]

Exemple d’utilisation d’une classe comme une Structure

classe, email
{filelink=14328}

#!/usr/local/bin/perl -w
 
use Class::Struct;          # Charger le module des structures
 
struct Personne => {        # Définir une structure nommée 'Personne'
 
    # définir les attributs de la structure
    nom   => '$',          # donnée scalaire
    profession    => '$',  # donnée scalaire
    email    => '$',       # donnée scalaire
    hobby  => '@',         # tableau
};
 
my $pers = Personne->new( );      # Création/Allocation de la structure
 
$pers->nom("Karl max");       # Modfier l'attribut 'nom'
$pers->profession("devel");   # Modfier l'attribut 'profession'
$pers->email("test@email.com");  # Modfier l'attribut 'email'
$pers->hobby( ["sport", "lecture", "cié" ] ); # Modfier l'attribut 'hobby'
 
# Afficher les valeurs des attributs
printf "Nom:%sn profession: %sn email:%sn activité extra:%s.n",
    $pers->nom, $pers->profession, $pers->email, ,$pers->hobby(0);

Livres sur ce sujet

[amazon_image id=”2841773698″ link=”true” target=”_blank” size=”medium” ]De l’art de programmer en Perl[/amazon_image][amazon_image id=”2914010729″ link=”true” target=”_blank” size=”medium” ]Perl pour l’impatient[/amazon_image][amazon_image id=”2841771407″ link=”true” target=”_blank” size=”medium” ]Programmation en Perl, 3ème édition[/amazon_image][amazon_image id=”B005ELPHNA” link=”true” target=”_blank” size=”medium” ]Perl moderne: L’essentiel des pratiques actuelles[/amazon_image][amazon_image id=”2914010656″ link=”true” target=”_blank” size=”medium” ]Les expressions régulières par l’exemple[/amazon_image][amazon_image id=”2914010869″ link=”true” target=”_blank” size=”medium” ]Les meilleures bibliothèques pour Perl[/amazon_image]

Lancer des signaux/alarms après quelques secondes


{filelink=13807}

 #!/usr/local/bin/perl
 eval
 {
while(<>) {
    print "Tapez quelque chose...";
    alarm(5);
}
  }

Livres sur ce sujet

[amazon_image id=”2841773698″ link=”true” target=”_blank” size=”medium” ]De l’art de programmer en Perl[/amazon_image][amazon_image id=”2914010729″ link=”true” target=”_blank” size=”medium” ]Perl pour l’impatient[/amazon_image][amazon_image id=”2841771407″ link=”true” target=”_blank” size=”medium” ]Programmation en Perl, 3ème édition[/amazon_image][amazon_image id=”B005ELPHNA” link=”true” target=”_blank” size=”medium” ]Perl moderne: L’essentiel des pratiques actuelles[/amazon_image][amazon_image id=”2914010656″ link=”true” target=”_blank” size=”medium” ]Les expressions régulières par l’exemple[/amazon_image][amazon_image id=”2914010869″ link=”true” target=”_blank” size=”medium” ]Les meilleures bibliothèques pour Perl[/amazon_image]

Perl: Exemple de création des nombres complexes


{filelink=13814}

 
use Math::Complex;
 
my $x = Math::Complex->new(3,5);      #Nombre complexe
my $y = Math::Complex->new(2,-2);
$z = $x * $y;
print "z = $zn";

Livres sur ce sujet

[amazon_image id=”2841773698″ link=”true” target=”_blank” size=”medium” ]De l’art de programmer en Perl[/amazon_image][amazon_image id=”2914010729″ link=”true” target=”_blank” size=”medium” ]Perl pour l’impatient[/amazon_image][amazon_image id=”2841771407″ link=”true” target=”_blank” size=”medium” ]Programmation en Perl, 3ème édition[/amazon_image][amazon_image id=”B005ELPHNA” link=”true” target=”_blank” size=”medium” ]Perl moderne: L’essentiel des pratiques actuelles[/amazon_image][amazon_image id=”2914010656″ link=”true” target=”_blank” size=”medium” ]Les expressions régulières par l’exemple[/amazon_image][amazon_image id=”2914010869″ link=”true” target=”_blank” size=”medium” ]Les meilleures bibliothèques pour Perl[/amazon_image]

Classes: Exemple d’initialisation des attributs

classe
{filelink=14324}

#!/usr/local/bin/perl -w
 
package Personne;
sub new {
    my $self = { };
    bless($self);
 
    # Initialisation de deux attributs
    $self->{Nom} = "";
    $self->{AGE}   = 0;
    return $self;
}

Livres sur ce sujet

[amazon_image id=”2841773698″ link=”true” target=”_blank” size=”medium” ]De l’art de programmer en Perl[/amazon_image][amazon_image id=”2914010729″ link=”true” target=”_blank” size=”medium” ]Perl pour l’impatient[/amazon_image][amazon_image id=”2841771407″ link=”true” target=”_blank” size=”medium” ]Programmation en Perl, 3ème édition[/amazon_image][amazon_image id=”B005ELPHNA” link=”true” target=”_blank” size=”medium” ]Perl moderne: L’essentiel des pratiques actuelles[/amazon_image][amazon_image id=”2914010656″ link=”true” target=”_blank” size=”medium” ]Les expressions régulières par l’exemple[/amazon_image][amazon_image id=”2914010869″ link=”true” target=”_blank” size=”medium” ]Les meilleures bibliothèques pour Perl[/amazon_image]

Exemple complet d’utilisation d’une classe en Perl

classe, set, email
{filelink=14327}

#!/usr/local/bin/perl -w
package Personne ;
################# Classe ##############
# En perl, une classe est un package
# contenant des fonctions et des variable
#
 
sub new{                    # Constructeur de la classe personne
    my $class = shift;
    my $personne = {
        "Nom"  => undef,
        "Profession" => undef,
        "Email"  => undef,
    };
    bless($personne, $class);    # Création de l'objet
 
    # Fonction qui permet de modifier les membres de la classe Personne
    sub set_Personne{
        my $self = shift;
        my ($nom, $profession, $email)= @_;  # Les paramètres de la fonction
 
        #Modifier les les attributs de la classe
        $self->{'Nom'} = $nom;
        $self->{'Profession'}= $profession;
        $self->{'Email'}= $email;
    }
 
    # Fonction qui permet d'afficher les valeurs des attributs
    sub get_Personne{
    my $self = shift;
    while(($key,$value)=each(%self))
    {
        print "$key: $valuen";
    }
}
 
# Création d'une instance de la classe Personne
$client = Personne->new();
 
# Initialisation de la classe
$client->set_Personne("Bill", "Gate", "bill@test.com");
 
# Accéder aux objets de la classe
$client->get_Personne;
 
# Modifier les valeurs des attributs
 $client->set_Personne("sako","adam","demo@gmail.com");
 
 #Afficher les nouvelles valeurs
 $client->get_Personne;

Livres sur ce sujet

[amazon_image id=”2841773698″ link=”true” target=”_blank” size=”medium” ]De l’art de programmer en Perl[/amazon_image][amazon_image id=”2914010729″ link=”true” target=”_blank” size=”medium” ]Perl pour l’impatient[/amazon_image][amazon_image id=”2841771407″ link=”true” target=”_blank” size=”medium” ]Programmation en Perl, 3ème édition[/amazon_image][amazon_image id=”B005ELPHNA” link=”true” target=”_blank” size=”medium” ]Perl moderne: L’essentiel des pratiques actuelles[/amazon_image][amazon_image id=”2914010656″ link=”true” target=”_blank” size=”medium” ]Les expressions régulières par l’exemple[/amazon_image][amazon_image id=”2914010869″ link=”true” target=”_blank” size=”medium” ]Les meilleures bibliothèques pour Perl[/amazon_image]