_constructeur dans les classes

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : _constructeur dans les classes

Re: _constructeur dans les classes

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);

_constructeur dans les classes

par djun » 08 janv. 2012, 15:59

Je suis aller voir dans plusieurs site. Malheureusement, j'ai rien compris. Qui peut me donner un exemple simple?