Aller au contenu principal

Introduction à la POO

Notions théoriques

Nous avons vu que la Programmation Orientée Objet (POO) est une façon de programmer (un paradigme) qui nous permet d'organiser le code en objets.

Voyons maintenant comment construire et utiliser des objets en PHP.

Une classe est comme un plan (un modèle) pour créer un objet.

Une classe peut contenir :

  • des propriétés (variables)
  • et des méthodes (fonctions).
info

Lorsque l'on crée un objet à partir de cette classe (le modèle), on dit que l'on crée une instance de cette classe.

  1. En PHP, nous définissons une classe avec le mot-clé class, suivi du nom de la classe.
  2. Nous pouvons ensuite créer un objet (une instance de la classe) avec le mot-clé new.
class Voiture {
// Propriétés
public $couleur;
public $marque;

// Méthodes
public function klaxonner() {
print("Tut tut!");
}
}

// Création d'un objet
$maVoiture = new Voiture();

Exemple pratique

Voyons comment nous pouvons utiliser notre classe Voiture pour créer des objets et les utiliser.

  • Dans votre répertoire "Documents" créez le répertoire tp_classe_voiture.

  • Dans ce répertoire créez le fichier main.php :

    <?php
    // Utiliser la classe 'Voiture'
    print("Utiliser la classe 'Voiture' \n\n");
  • Testez le fonctionnement de ce fichier :

    php main.php

  • Saisir le code de la classe 'Voiture' :

    class Voiture {
    // Propriétés
    public $couleur;
    public $marque;

    // Méthodes
    public function klaxonner() {
    print("Tut tut!");
    }
    }
  • Saisir le code pour utiliser la classe 'Voiture' :

    // Création d'un objet
    $maVoiture = new Voiture();

    // Définition des propriétés
    $maVoiture->couleur = "rouge";
    $maVoiture->marque = "Ferrari";

    // Utilisation d'une méthode
    $maVoiture->klaxonner(); // Affiche "Tut tut!"

Test de mémorisation/compréhension


Qu'est-ce qu'un objet en programmation orientée objet ?


Comment définissons-nous une classe en PHP ?


Comment créons-nous un objet en PHP ?


Qu'est-ce qu'une propriété dans une classe ?


Qu'est-ce qu'une méthode dans une classe ?