par
Ryle » 08 janv. 2012, 17:09
Les classes qui possèdent un constructeur appellent cette méthode à chaque création d'une nouvelle instance de l'objet. En gros, à chaque fois que tu fais un new TaClasse(), la méthode __construct() de ta classe est exécutée, avec les paramètres qui lui sont passés.
Par exemple, dans une classe véhicule, on pourrait définir un nombre de roues, si la boite de vitesse est manuelle ou automatique, etc. On pourrait donc imaginer une classe ainsi et l'appel suivant :
class Vehicule {
private $nbRouesVehicule;
private $boiteDeVitesse;
function __construct($nbRoues, $vitesse, $demarrer) {
$this->nbRouesVehicule = $nbRoues; // 2, 4 ...
$this->boiteDeVitesse = $vitesse; // "auto", "manu"
if ($demarrer) { // faut-il démarrer le moteur
$this->demarreLeMoteur();
}
}
public function demarreLeMoteur() {
echo 'Vrouuummmm !';
}
...
}
// retourne une instance de véhicule avec 4 roues, une boite automatique, non démarrée
$maVoiture = new Vehicule(4, "auto", false);
$maVoiture->demarrerLeMoteur(); // met la voiture en route
// retourne une autre instance de véhicule avec 10 roues, une boite manuelle, et qui fait Vrouuumm !
$monCamion = new Vehicule(10, "manu", true);
Les classes qui possèdent un constructeur appellent cette méthode à chaque création d'une nouvelle instance de l'objet. En gros, à chaque fois que tu fais un new TaClasse(), la méthode __construct() de ta classe est exécutée, avec les paramètres qui lui sont passés.
Par exemple, dans une classe véhicule, on pourrait définir un nombre de roues, si la boite de vitesse est manuelle ou automatique, etc. On pourrait donc imaginer une classe ainsi et l'appel suivant :
[php]class Vehicule {
private $nbRouesVehicule;
private $boiteDeVitesse;
function __construct($nbRoues, $vitesse, $demarrer) {
$this->nbRouesVehicule = $nbRoues; // 2, 4 ...
$this->boiteDeVitesse = $vitesse; // "auto", "manu"
if ($demarrer) { // faut-il démarrer le moteur
$this->demarreLeMoteur();
}
}
public function demarreLeMoteur() {
echo 'Vrouuummmm !';
}
...
}
// retourne une instance de véhicule avec 4 roues, une boite automatique, non démarrée
$maVoiture = new Vehicule(4, "auto", false);
$maVoiture->demarrerLeMoteur(); // met la voiture en route
// retourne une autre instance de véhicule avec 10 roues, une boite manuelle, et qui fait Vrouuumm !
$monCamion = new Vehicule(10, "manu", true);[/php]