La POO, constructeur et destructeur
Constructeur de classe
Le constructeur est une méthode de la classe qui est automatique appelée à la création d’un objet (instance de la classe). Cette méthode est pratique pour initialiser les paramètres d’un objet au moment de le créer.
class Voiture{
const NOMBREAIRBAG = 3;
function __construct() { // constructeur
echo "Une nouvelle voiture vient d'être fabriquée";
}
public function demarrage(){
echo "La voiture de marque";
}
}
$mavoiture = new Voiture();
Affichage
Une nouvelle voiture vient d'être fabriquée
Note : la méthode constructeur peut aussi être déclarée en créant une méthode dont le nom est le même que celui de la classe. Cette méthode est cependant déconseillée. En effet elle se distingue mal, à la relecture du script, des autres méthodes de la classe. En outre, si vous renommez la classe, il faudra pensez aussi à renommer le constructeur!
class Voiture{
const NOMBREAIRBAG = 3;
function Voiture() { // constructeur (déconseillé)
echo "Une nouvelle voiture vient d'être fabriquée";
}
public function demarrage(){
echo "La voiture de marque";
}
}
$mavoiture = new Voiture();
Destructeur de classe
Le destructeur est une méthode de la classe qui est automatique appelée à la destruction d’un objet (instance de la classe), c’est à dire lorsque la référence de cet objet est détruite.
class Voiture{
const NOMBREAIRBAG = 3;
function __construct() {
echo "Une nouvelle voiture vient d'être fabriquée";
}
public function __destruct() { // destructeur
echo 'Voiture detruite';
}
public function demarrage(){
echo "La voiture de marque";
}
}
$mavoiture = new Voiture(); // appel de __construct
$mavoiture = null; // on détruit la référence : appel de __destruct
Affichage
Une nouvelle voiture vient d'être fabriquée
Voiture detruite
Note : en affectant une valeur null à une variable, on détruit sa référence.