oujood.com

Constructeurs dans une classe


chercher |

PHP cours tutorial

Constructeurs dans une classe

PHP permet aux développeurs de déclarer des constructeurs pour les classes.

 Les classes qui possèdent une méthode constructeur appellent cette méthode à chaque création d'une nouvelle instance de l'objet, ce qui est intéressant pour toutes les initialisations dont l'objet a besoin avant d'être utilisé.

Cette méthode peut demander des paramètres, auquel cas nous devrons les placer entre les parenthèses que vous voyez après le nom de la classe.

On déclare un constructeur comme suit :

__construct ([ $args [, $... ]] )

Revenant à notre classe Vehicule et déclarant un constructeur

Code de « Vehicule.php »:

Exemple :       Copier le code

  <?php
    class Vehicule
    {
      // Attributs(les variables ) sont les suivates
     private $roue = 4 ;
   /* le nombre de roues du véhicule
  par défaut est 4 */
   private $porte ;
   private $carburant ;
   private $compteur ;
   private $tauxConsomation ;
      // Constantes
      // Méthodes  (les fonctions)
  // constructeur
  public function __construct ($roue, $porte, $carburant, $compteur,$tauxConsomation )
          {
  // Message affiché quand un  objet est créé.
              echo 'Voici le constructeur <br />';
  // initialisation des paramètres.
              $this->roue = $roue;
              $this->porte = $porte;
              $this->carburant = $carburant;
              $this->compteur = $compteur;
              $this->tauxConsomation = $tauxConsomation;
          }
  /* Une méthode qui déplacera le véhicule (modifiera son attribut compteur).*/
  public function deplacer()
          {
           $this->compteur = $this->compteur + 50;
          }
  /* Une méthode qui déplacera le véhicule (modifiera son attribut compteur).*/
  public function consommer()
          {
           $this->carburant = $this->carburant -($this->tauxConsomation * 50);
          }
  /* cette fonction sert à donner un nombre de roues à un véhicule*/                 
  public function setRoue($R)
          {
            $this->roue=$R;
           }
  /* ces fonctions servent à l’affichage des attributs (propriétés) ou accesseurs */
  public function roue()
          {
              return $this->roue ;
          }
  public function carburant()
          {
              return $this->carburant ;
          }
    }
  ?>
 

Remarquez que dans cet exemple j’ai donné au constructeur en paramètre tous les attributs de la classe, mais vous pouvez n’en mettre que ceux dont vous avez besoin pour votre application.

Nous allons créer deux instances de notre classe c’est à dire deux objets.

Mettez le code suivant dans un fichier « teste.php » comme suit et exécutez le :

Code de « teste.php » :

Exemple :       Copier le code

  <?php
      function chargerClasse ($classe)
      {
          include( $classe.'.php'); /* On inclue la classe correspondante au paramètre
  passé*/
      }
      spl_autoload_register ('chargerClasse'); /* enregistrement de la fonction en
  autoload pour qu'elle soit appelée dès qu'on instancie une classe non déclarée*/
  $classe= "Vehicule" ;/* ici  on donne à la variable $classe la valeur maclass.php on suposant que le fichier qui
  contient la classe porte le même nom que la classe soit maclasse */
      $vehicule1 = new Vehicule (4,5,25,100,1.5); // Un premier vehicule.
      $vehicule2 = new Vehicule (6,2,70,200,3.5); // Un second vehicule.          
  ?>

Note :

0 Ne mettez jamais la méthode __construct avec le type de visibilité private car elle ne pourra jamais être appelée, vous ne pourrez donc pas instancier votre objet .

Par carabde 20 Aout 2014



Voir aussi nos tutoriel :

font-weight

Indique le poids d'une police

fonction strcmp

Comparaison binaire de chaînes

fonction substr_compare, substr_compare

Compare deux chaînes depuis un offset jusqu' une longueur en caractères