Magazine

Introduction à la POO avec PHP - Partie 2

Publié le 15 avril 2008 par Methylbro

La programmation orientée objet (POO) ou programmation par objet, est un paradigme de programmation informatique qui consiste en la définition et l'assemblage de briques logicielles appelées objet ; un objet représente un concept, une idée ou toute entité du monde physique, comme une voiture, une personne ou encore une page d'un livre.

http://fr.wikipedia.org/wiki/Programmation_orientée_objet

Ou bien d'un simple stylo !
Comme promis (Introduction à la POO avec PHP - Partie 1) ; voici la deuxième partie de cette série de billets dédiés à la Programmation Orienté Objet avec PHP.

Les concepts généraux de la POO

Classe et instance de classe

Comme vous pouvez l’imaginer ; avant de pouvoir utiliser un objet ; nous allons devoir définir le type de cet objet.

C’est à ce niveau que la compréhension risque d’être la moins évidente et la plus difficile. Il va falloir distinguer le type d’un objet (entier, réel, booléen etc) de l’objet lui-même (33, 3.14, true etc).

Lorsque nous définirons le type d’un objet ; nous parlerons de classes. Lorsque nous utiliserons ses classes pour créer et manipuler des objets nous parlerons d’instances de classes.

Pour illustrer ; je vais reprendre mon exemple des stylos. La classe sera le schéma pour un stylo. Comme un de plan de fabrication, ou d’utilisation. Tandis que l’instance de cette classe sera techniquement le stylo. Donc ; pour le même schéma ; pour la même classe ; vous pouvez avoir plusieurs stylos ; plusieurs objets ou instances de classe.

En php définir une classe est aussi simple que de définir une fonction :

class Stylo {
  // définition des propriétés
  // définition des méthodes
}

Une fois la classe définie ; vous pouvez très bien créer un nouvel objet ; une nouvelle instance de votre classe. Pour ce faire ; en php on utilise l’opérateur new.

// $myClassInstance est un nouvel objet de type Stylo
$myClassInstance = new Stylo() ;

Les propriétés

Les propriétés sont des variables associés aux instances de vos classes (ceci est une généralité. Nous verrons plus loin que des cas spécifiques sont possibles ; notamment avec le mot clé static).

Par exemple ; si nous considérons une entité de type Personne. Chaque personnes possède un nom ; un prénom et une date de naissance. Et bien ces informations seront des propriétés de la classe Personne. Chaque instance de Personne possédera donc un nom ; un prénom et une date de naissance.

Si je reprends mon exemple du stylo ; chaque stylo aura comme propriété un niveau d’encre ; une couleur ; et un statut pour savoir si ma mine est sortie ou capuchée. La définition de ma classe Stylo prendra donc la forme suivante :

class Stylo {
  var $niveau_encre ;
  var $couleur ;
  var $statut ;
  // définition des méthodes
}

Le mot clés var n’est plus utilisé depuis php5. Cependant il a été conservé pour une compatibilité avec php4. Il est utilisé ici ; juste pour que vous sachiez qu’il existe et pour que vous ne soyez pas surpris si un jour vous le rencontrez.

Les méthodes

Les méthodes sont des procédures et/ou des fonctions associées aux instances de vos classes. De la même façon que les propriétés ; nous verrons plus loin que cette affirmation est une généralité assujettie à des exceptions.

Au sein de vos méthodes ; vous pouvez faire appel aux autres éléments (méthodes et ou propriétés) de votre instance de classe à l’aide de l’objet $this. Qui est en fait une référence vers l’instance de classe concernée.

Par exemple ; nous allons créer une méthode qui renvoie vrai si le niveau d’encre est suffisant pour écrire ; et faux le cas contraire. Vous allez voir que ; a part la possibilité d’accéder aux propriétés de l’objet en cours ; rien ne change comparativement aux fonctions que vous connaissez.

class Stylo {
  $niveau_encre ;
  $couleur ;
  $statut ;
  function peutEcrire() {
   if ($this->niveau_encre<=0) {
   $result = false;
   } else {
   $result = true ;
   }
   return $result ;
  }
}

Lire la suite...


Retour à La Une de Logo Paperblog

A propos de l’auteur


Methylbro 17 partages Voir son blog

l'auteur n'a pas encore renseigné son compte l'auteur n'a pas encore renseigné son compte