Constantes
<<<
Abstraction d'objets Interfaces
>>>

5.10 Les classes et les objets (PHP 5)
5 Référence du langage
 Manuel PHP

Introduction
Les notions de base
Auto-chargement de classes
Constructeurs et destructeurs
Visibilité
L'opérateur de résolution de portée (::)
Statique
Constantes
->Abstraction d'objets
Interfaces
Surcharge
Les Itération
Masques
Méthodes magiques
Mot clé "final"
Duplication d'objets
Comparaison d'objets
Réflexion
Typage optionnel des paramètres

5.10.9 Abstraction d'objets

PHP 5 introduit les classes et les méthodes abstraites. Il n'est pas autorisé de créer une instance d'une classe qui a été définie comme abstraite. Toutes les classes qui contiennent au moins une méthode abstraite doivent également être abstraites. Les méthodes définies comme abstraites déclarent simplement la signature de la méthode et ne fournissent aucune implémentation.

La classe qui implémente la méthode abstraite doit être définie avec la même visibillité ou plus faible. Si la méthode abstraite est définie en tant que protégée, la fonction l'implémentant doit être définie en tant que protégée ou publique.

Exemple de classe abstraite

<?php
abstract
class AbstractClass
{
   
// Force la classe étendue à définir cette méthode
   
abstract protected function getValue();

   
// méthode commune
   
public function printOut() {
     print
$this->getValue();
   }
}

class
ConcreteClass1 extends AbstractClass
{
   
protected function getValue() {
     return
"ConcreteClass1";
   }
}

class
ConcreteClass2 extends AbstractClass
{
   
protected function getValue() {
     return
"ConcreteClass2";
   }
}

$class1 = new ConcreteClass1;
$class1->printOut();

$class2 = new ConcreteClass2;
$class2->printOut();
?>

L'ancien code qui n'a aucune classe ou fonction nommé abstract devrait fonctionner sans modifications.

<< Abstraction d'objets >>
Constantes Les classes et les objets (PHP 5) Interfaces