Hello!

Je suis tombé sur un problème que je ne saisis pas....

voici un bout de code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
<?php
 
class voiture{
       public $roue;
       public $couleur;
       public $boite;
       function __construct($roue, $couleur = "rouge", $boite = 6){
               $this->roue = $roue;
               $this->couleur = $couleur;
               $this->boite = $boite;
        }
        function affiche(){
               echo 'Ma voiture '.$this->couleur.' à '.$this->roue.' roues et une boîte '.$this->boite.' vitesses.<br/>';
       }
}
 
$v1 = new voiture(3, "bleu", 4);
$v1->affiche();
$v2 = new voiture();
$v2->affiche();
$v3 = new voiture("bleu", 4);
$v3->affiche();
?>
dans la définition du constructeur, certains paramètres ont des valeurs par défaut.... dois-je en donner à tous, si je veux utiliser les constructeurs donnés en exemple?

Résultat obtenu par le code suivant :

Ma voiture bleu à 3 roues et une boîte 4 vitesses.

Warning: Missing argument 1 for voiture::__construct(), called in C:\wamp\www\php5\formation\test\param.php on line 28 and defined in C:\wamp\www\php5\formation\test\param.php on line 16
Ma voiture rouge à roues et une boîte 6 vitesses.
Ma voiture 4 à bleu roues et une boîte 6 vitesses.
Merci de vos réponses...