Chapitre 15 : POO - Introduction

Découvrez les fondamentaux de la programmation orientée objet en PHP : classes, objets, propriétés, méthodes et constructeurs.

1. Introduction

La programmation orientée objet (POO) est un paradigme qui permet d'organiser le code sous forme de classes et d'objets. PHP supporte pleinement la POO depuis la version 5.

Avec la POO, vous structurez vos applications de manière modulaire, réutilisable et évolutive.

2. Qu'est-ce qu'une classe et un objet ?

  • Une classe est un modèle, une "définition" (ex : Voiture).
  • Un objet est une instance concrète de cette classe (ex : MaVoiture).

3. Déclaration d'une classe

<?php
class Voiture {
  public $marque;
  public $couleur;

  public function klaxonner() {
    return "Tut tut !";
  }
}
?>

4. Créer un objet

<?php
$maVoiture = new Voiture();
$maVoiture->marque = "Renault";
$maVoiture->couleur = "Rouge";

echo $maVoiture->klaxonner(); // Affiche "Tut tut !"
?>

Utilisez new pour instancier un objet à partir d'une classe.

5. Constructeur : initialiser automatiquement un objet

<?php
class Utilisateur {
  public $nom;

  public function __construct($nom) {
    $this->nom = $nom;
  }

  public function saluer() {
    return "Bonjour " . $this->nom;
  }
}

$u = new Utilisateur("Sami");
echo $u->saluer(); // Bonjour Sami
?>

__construct() est une méthode spéciale appelée automatiquement à la création d'un objet.

6. Visibilité : public, private, protected

  • public : accessible partout
  • private : accessible uniquement dans la classe
  • protected : accessible dans la classe et les classes héritées
<?php
class Produit {
  private $prix;

  public function setPrix($valeur) {
    if ($valeur > 0) {
      $this->prix = $valeur;
    }
  }

  public function getPrix() {
    return $this->prix;
  }
}
?>

7. À retenir

  • La POO organise votre code avec des classes et objets.
  • Les propriétés sont les données (attributs), les méthodes sont les actions.
  • $this fait référence à l'objet courant.
  • Le constructeur __construct() initialise automatiquement les objets.
  • La visibilité (public/private) permet d'encapsuler les données.

8. Exercices proposés

  1. Créer une classe Livre avec titre, auteur et méthode afficher().
  2. Créer une classe CompteBancaire avec solde, méthode créditer() et débiter().
  3. Utiliser un constructeur pour initialiser une classe Utilisateur.

9. Ce que vous apprendrez ensuite

Dans le chapitre 16, vous apprendrez à manipuler efficacement les chaînes de caractères avec PHP. Nous verrons les fonctions essentielles pour analyser, transformer et sécuriser les textes.