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 »:

Sélectionner 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 » :

Sélectionner 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 :

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

MARKETPOWER-IA
Logiciel d'I.A.
Logiciel d'I.A. 100% Français pour lancer son business en ligne

La méthode secrète likes sans fin sur Facebook

Livre numérique court pour comprendre la méthode secrète permettant d'obtenir des likes sans fin sur Facebook.

GAGNER DE L'ARGENT
GRÂCE À FACEBOOK 
N'A JAMAIS ÉTÉ SI FACILE


Consulter


1tpe